XmlSchemaDocumentation Class

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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.

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

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

Public Class XmlSchemaDocumentation
	Inherits XmlSchemaObject

NameDescription
System_CAPS_pubmethodXmlSchemaDocumentation()

Initializes a new instance of the XmlSchemaDocumentation class.

NameDescription
System_CAPS_pubpropertyLanguage

Gets or sets the xml:lang attribute. This serves as an indicator of the language used in the contents.

System_CAPS_pubpropertyLineNumber

Gets or sets the line number in the file to which the schema element refers.(Inherited from XmlSchemaObject.)

System_CAPS_pubpropertyLinePosition

Gets or sets the line position in the file to which the schema element refers.(Inherited from XmlSchemaObject.)

System_CAPS_pubpropertyMarkup

Gets or sets an array of XmlNodes that represents the documentation child nodes.

System_CAPS_pubpropertyNamespaces

Gets or sets the XmlSerializerNamespaces to use with this schema object.(Inherited from XmlSchemaObject.)

System_CAPS_pubpropertyParent

Gets or sets the parent of this XmlSchemaObject.(Inherited from XmlSchemaObject.)

System_CAPS_pubpropertySource

Gets or sets the Uniform Resource Identifier (URI) source of the information.

System_CAPS_pubpropertySourceUri

Gets or sets the source location for the file that loaded the schema.(Inherited from XmlSchemaObject.)

NameDescription
System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

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
Available since 1.1

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

Return to top
Show: