Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

XmlSchemaDocumentation Class

Represents the documentation element from XML Schema as specified by the World Wide Web Consortium (W3C). This class specifies information to be read or used by humans within an annotation.

System.Object
  System.Xml.Schema.XmlSchemaObject
    System.Xml.Schema.XmlSchemaDocumentation

Namespace:  System.Xml.Schema
Assembly:  System.Xml (in System.Xml.dll)

'Declaration
Public Class XmlSchemaDocumentation _
	Inherits XmlSchemaObject

The XmlSchemaDocumentation type exposes the following members.

  NameDescription
Public methodSupported by the XNA FrameworkXmlSchemaDocumentationInitializes a new instance of the XmlSchemaDocumentation class.
Top

  NameDescription
Public propertySupported by the XNA FrameworkLanguageGets or sets the xml:lang attribute. This serves as an indicator of the language used in the contents.
Public propertySupported by the XNA FrameworkLineNumberGets or sets the line number in the file to which the schema element refers. (Inherited from XmlSchemaObject.)
Public propertySupported by the XNA FrameworkLinePositionGets or sets the line position in the file to which the schema element refers. (Inherited from XmlSchemaObject.)
Public propertySupported by the XNA FrameworkMarkupGets or sets an array of XmlNodes that represents the documentation child nodes.
Public propertySupported by the XNA FrameworkNamespacesGets or sets the XmlSerializerNamespaces to use with this schema object. (Inherited from XmlSchemaObject.)
Public propertySupported by the XNA FrameworkParentGets or sets the parent of this XmlSchemaObject. (Inherited from XmlSchemaObject.)
Public propertySupported by the XNA FrameworkSourceGets or sets the Uniform Resource Identifier (URI) source of the information.
Public propertySupported by the XNA FrameworkSourceUriGets or sets the source location for the file that loaded the schema. (Inherited from XmlSchemaObject.)
Top

  NameDescription
Public methodSupported by the XNA FrameworkEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodSupported by the XNA FrameworkFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodSupported by the XNA FrameworkGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodSupported by the XNA FrameworkGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodSupported by the XNA FrameworkMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodSupported by the XNA FrameworkToStringReturns a string that represents the current object. (Inherited from Object.)
Top

Information supplied within the XmlSchemaDocumentation class is not used in validation. However, it provides a standardized way to supply information that can be retrieved by tools.

The following example creates the documentation element.

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

Class XMLSchemaExamples
    Public Shared Sub Main()

        Dim schema As New XmlSchema()

        ' <xs:simpleType name="northwestStates"> 
        Dim simpleType As New XmlSchemaSimpleType()
        simpleType.Name = "northwestStates"
        schema.Items.Add(simpleType)

        ' <xs:annotation> 
        Dim annNorthwestStates As New XmlSchemaAnnotation()
        simpleType.Annotation = annNorthwestStates

        ' <xs:documentation>States in the Pacific Northwest of US</xs:documentation> 
        Dim docNorthwestStates As New XmlSchemaDocumentation()
        annNorthwestStates.Items.Add(docNorthwestStates)
        docNorthwestStates.Markup = TextToNodeArray("States in the Pacific Northwest of US")

        ' <xs:restriction base="xs:string"> 
        Dim restriction As New XmlSchemaSimpleTypeRestriction()
        simpleType.Content = restriction
        restriction.BaseTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")

        ' <xs:enumeration value="WA"> 
        Dim enumerationWA As New XmlSchemaEnumerationFacet()
        restriction.Facets.Add(enumerationWA)
        enumerationWA.Value = "WA" 

        ' <xs:annotation> 
        Dim annWA As New XmlSchemaAnnotation()
        enumerationWA.Annotation = annWA

        ' <xs:documentation>Washington</documentation> 
        Dim docWA As New XmlSchemaDocumentation()
        annWA.Items.Add(docWA)
        docWA.Markup = TextToNodeArray("Washington")

        ' <xs:enumeration value="OR"> 
        Dim enumerationOR As New XmlSchemaEnumerationFacet()
        restriction.Facets.Add(enumerationOR)
        enumerationOR.Value = "OR" 

        ' <xs:annotation> 
        Dim annOR As New XmlSchemaAnnotation()
        enumerationOR.Annotation = annOR

        ' <xs:documentation>Oregon</xs:documentation> 
        Dim docOR As New XmlSchemaDocumentation()
        annOR.Items.Add(docOR)
        docOR.Markup = TextToNodeArray("Oregon")

        ' <xs:enumeration value="ID"> 
        Dim enumerationID As New XmlSchemaEnumerationFacet()
        restriction.Facets.Add(enumerationID)
        enumerationID.Value = "ID" 

        ' <xs:annotation> 
        Dim annID As New XmlSchemaAnnotation()
        enumerationID.Annotation = annID

        ' <xs:documentation>Idaho</xs:documentation> 
        Dim docID As New XmlSchemaDocumentation()
        annID.Items.Add(docID)
        docID.Markup = TextToNodeArray("Idaho")

        Dim schemaSet As New XmlSchemaSet()
        AddHandler schemaSet.ValidationEventHandler, AddressOf ValidationCallbackOne

        schemaSet.Add(schema)
        schemaSet.Compile()

        Dim compiledSchema As XmlSchema = Nothing 

        For Each schema1 As XmlSchema In schemaSet.Schemas()
            compiledSchema = schema1
        Next 

        Dim nsmgr As New XmlNamespaceManager(New NameTable())
        nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema")
        compiledSchema.Write(Console.Out, nsmgr)

    End Sub 


    Public Shared Sub ValidationCallbackOne(ByVal sender As Object, ByVal args As ValidationEventArgs)
        Console.WriteLine(args.Message)
    End Sub 

    Public Shared Function TextToNodeArray(ByVal text As String) As XmlNode()
        Dim doc As New XmlDocument()
        Dim nodeArray(1) As XmlNode

        nodeArray(0) = doc.CreateTextNode(text)
        TextToNodeArray = nodeArray
    End Function 

End Class

The following XML file is generated for the preceding code example.

<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:simpleType name="northwestStates">
		<xs:annotation>
			<xs:documentation>States in the Pacific Northwest of US</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
		  <xs:enumeration value="WA">
		    <xs:annotation>
		      <xs:documentation>Washington</xs:documentation>
		    </xs:annotation>
		  </xs:enumeration>
		  <xs:enumeration value="OR">
		    <xs:annotation>
		      <xs:documentation>Oregon</xs:documentation>
		    </xs:annotation>
		  </xs:enumeration>
		  <xs:enumeration value="ID">
		    <xs:annotation>
		      <xs:documentation>Idaho</xs:documentation>
		    </xs:annotation>
		  </xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show:
© 2015 Microsoft