XElement.GetSchemaInfo() : XElement « System.Xml.Linq « C# / C Sharp by API






XElement.GetSchemaInfo()

  

using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Linq;
public class MainClass {
    public static void Main() {
        XDocument xDocument = new XDocument(
          new XElement("Books",
            new XElement("Book",
              new XAttribute("type", "Author"),
              new XElement("FirstName", "A"),
              new XElement("MiddleName", "Carson"),
              new XElement("LastName", "B")),
            new XElement("Book",
              new XAttribute("type", "Author"),
              new XElement("FirstName", "C"),
              new XElement("LastName", "D"))));

        Console.WriteLine(xDocument);

        XmlSchemaSet schemaSet = new XmlSchemaSet();
        schemaSet.Add(null, "bookparticipants.xsd");

        xDocument.Validate(schemaSet, (o, vea) => {
               Console.WriteLine(o.GetType().Name);
               Console.WriteLine(vea.Message);
           },true);

        foreach (XElement element in xDocument.Descendants()) {
            Console.WriteLine("Element {0} is {1}", element.Name,
              element.GetSchemaInfo().Validity);

            XmlSchemaElement se = element.GetSchemaInfo().SchemaElement;
            if (se != null) {
                Console.WriteLine(
                  "Schema element {0} must have MinOccurs = {1} and MaxOccurs = {2}{3}",
                  se.Name, se.MinOccurs, se.MaxOccurs, System.Environment.NewLine);
            } else {
                Console.WriteLine();
            }
        }
    }
}

   
    
  








Related examples in the same category

1.new XElement
2.XElement.AddFirst
3.XElement.Ancestors()
4.XElement.AncestorsAndSelf()
5.XElement.AncestorsAndSelf(String tagName)
6.XElement.Attribute
7.XElement.Changed
8.XElement.Changing
9.XElement.Descendants
10.XElement.Descendants("firstname").First()
11.XElement.Elements
12.XElement.First
13.XElement.FirstAttribute
14.XElement.HasAttributes
15.XElement.HasElements
16.XElement.Load(String fileName)
17.XElement.Nodes()
18.XElement.Parent
19.XElement.Parse(String xml value)
20.XElement.Remove
21.XElement.RemoveAll
22.XElement.Save(String fileName)
23.XElement.SetAttributeValue
24.XElement.SetElementValue