Extensions.Validate validates that an XAttribute conforms to a specified XmlSchemaObject and an XmlSchemaSet. : XML Schema « XML « VB.Net






Extensions.Validate validates that an XAttribute conforms to a specified XmlSchemaObject and an XmlSchemaSet.

 


Imports System
Imports System.Xml
Imports System.Xml.Schema


Imports System.Xml.XPath

Public Class MainClass

    Shared errors As Boolean = False

    Private Shared Sub XSDErrors(ByVal o As Object, ByVal e As ValidationEventArgs)
        Console.WriteLine("{0}", e.Message)
        errors = True
    End Sub

    Public Shared Sub Main()
        Dim xsdMarkup As XDocument = _
          <?xml version='1.0'?>
          <xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
              <xsd:element name='Root'>
                  <xsd:complexType>
                      <xsd:simpleContent>
                          <xsd:extension base='xsd:string'>
                              <xsd:attribute name='Lang' use='required'>
                                  <xsd:simpleType>
                                      <xsd:restriction base='xsd:token'>
                                          <xsd:enumeration value='C#'/>
                                          <xsd:enumeration value='VB'/>
                                      </xsd:restriction>
                                  </xsd:simpleType>
                              </xsd:attribute>
                          </xsd:extension>
                      </xsd:simpleContent>
                  </xsd:complexType>
              </xsd:element>
          </xsd:schema>

        Dim schemas As XmlSchemaSet = New XmlSchemaSet()
        schemas.Add("", xsdMarkup.CreateReader)

        Dim doc1 As XDocument = <?xml version='1.0'?>
                                <Root Lang='C#'/>

        errors = False
        doc1.Validate(schemas, AddressOf XSDErrors, True)
        Console.WriteLine("doc1 {0}", IIf(errors, "did not validate", "validated"))

        Dim lang As XAttribute = doc1.Root.Attribute("Lang")

        errors = False
        lang.Validate(lang.GetSchemaInfo().SchemaAttribute, schemas, AddressOf XSDErrors)
        Console.WriteLine("lang {0}", IIf(errors, "did not validate", "validated"))

        lang.Value = "VC"

        errors = False
        lang.Validate(lang.GetSchemaInfo().SchemaAttribute, schemas, AddressOf XSDErrors)
        Console.WriteLine("lang {0}", IIf(errors, "did not validate", "validated"))

    End Sub
End Class

   
  








Related examples in the same category

1.Compare the XML document generated from DataSet and Original one
2.Read XML without schema and output its structureRead XML without schema and output its structure
3.Output data relation from XML document
4.Generate XML Schema from XML document
5.XMl schema generatorXMl schema generator
6.Validating XML documents against Schemas
7.Validating a Document using the Validate Method
8.XDocument XML schema validation
9.XmlSchema represents an XML Schema
10.Add XmlSchemaElement to XmlSchema
11.Create XmlSchemaComplexType
12.XmlSchemaAll Class represents the World Wide Web Consortium (W3C) all element (compositor).
13.XmlSchemaAny Class represents the World Wide Web Consortium (W3C) any element.
14.XmlSchemaAnyAttribute Class represents the World Wide Web Consortium (W3C) anyAttribute element.
15.XmlSchemaAppInfo Class represents the World Wide Web Consortium (W3C) appinfo element.
16.XmlSchemaAttribute Class represents attribute element from XML Schema
17.XmlSchemaAttributeGroup Class represents attributeGroup element from XML Schema
18.XmlSchemaChoice Class represents choice element from XML Schema
19.XmlSchemaComplexContent represents complexContent element from XML Schema
20.XmlSchemaElement MinOccurs MaxOccursString
21.XmlSchemaComplexType Class represents complexType element from XML Schema
22.XmlSchemaDocumentation Class represents documentation element from XML Schema
23.XmlSchemaEnumerationFacet Class represents enumeration facet from XML Schema
24.XmlSchemaException Class returns detailed information about the schema exception.
25.XmlSchemaFractionDigitsFacet Class sets a restriction for the fraction value of a simpleType element
26.XmlSchemaGroup Class represents group element from XML Schema
27.XmlSchemaInclude Class represents include element from XML Schema
28.XmlSchemaLengthFacet Class represents the length facet from XML Schema
29.XmlSchemaMaxExclusiveFacet Class represents the maxExclusive element from XML Schema
30.XmlSchemaNotation represents the notation element from XML Schema
31.XmlSchemaSimpleContent Class represents simpleContent element from XML Schema
32.XmlSchemaSimpleTypeUnion Class represents the union element for simple types from XML Schema
33.XmlSchemaWhiteSpaceFacet Class tepresents the World Wide Web Consortium (W3C) whiteSpace facet.
34.XmlSchemaAnnotation Class represents the World Wide Web Consortium (W3C) annotation element.
35.XmlSchemaAttribute Class represents the attribute element from the XML Schema
36.XmlSchemaAttributeGroup Class represents the attributeGroup element from the XML Schema
37.XmlSchemaComplexContent Class represents complexContent element from XML Schema
38.Extensions.Validate validates that an XDocument conforms to an XSD in an XmlSchemaSet.
39.Validates that an XDocument conforms to an XSD in an XmlSchemaSet
40.Validates that an XElement sub-tree conforms to a specified XmlSchemaObject and an XmlSchemaSet.
41.XmlSchemaObject Class represents the root class for the Xml schema object model
42.XmlSchemaSet contains a cache of XML Schema definition language (XSD) schemas.
43.Create substitutionGroup