public class XmlSchemaAnnotation : XmlSchemaObject
|
using System; using System.Xml; using System.Xml.Schema; class XMLSchemaExamples { public static void Main() { XmlSchema schema = new XmlSchema(); // <xs:simpleType name="northwestStates"> XmlSchemaSimpleType simpleType = new XmlSchemaSimpleType(); simpleType.Name = "northwestStates"; schema.Items.Add(simpleType); // <xs:annotation> XmlSchemaAnnotation annNorthwestStates = new XmlSchemaAnnotation(); simpleType.Annotation = annNorthwestStates; // <xs:documentation>States in the Pacific Northwest of US</xs:documentation> XmlSchemaDocumentation docNorthwestStates = new XmlSchemaDocumentation(); annNorthwestStates.Items.Add(docNorthwestStates); docNorthwestStates.Markup = TextToNodeArray("States in the Pacific Northwest of US"); // <xs:restriction base="xs:string"> XmlSchemaSimpleTypeRestriction restriction = new XmlSchemaSimpleTypeRestriction(); simpleType.Content = restriction; restriction.BaseTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema"); // <xs:enumeration value='WA'> XmlSchemaEnumerationFacet enumerationWA = new XmlSchemaEnumerationFacet(); restriction.Facets.Add(enumerationWA); enumerationWA.Value = "WA"; // <xs:annotation> XmlSchemaAnnotation annWA = new XmlSchemaAnnotation(); enumerationWA.Annotation = annWA; // <xs:documentation>Washington</documentation> XmlSchemaDocumentation docWA = new XmlSchemaDocumentation(); annWA.Items.Add(docWA); docWA.Markup = TextToNodeArray("Washington"); // <xs:enumeration value='OR'> XmlSchemaEnumerationFacet enumerationOR = new XmlSchemaEnumerationFacet(); restriction.Facets.Add(enumerationOR); enumerationOR.Value = "OR"; // <xs:annotation> XmlSchemaAnnotation annOR = new XmlSchemaAnnotation(); enumerationOR.Annotation = annOR; // <xs:documentation>Oregon</xs:documentation> XmlSchemaDocumentation docOR = new XmlSchemaDocumentation(); annOR.Items.Add(docOR); docOR.Markup = TextToNodeArray("Oregon"); // <xs:enumeration value='ID'> XmlSchemaEnumerationFacet enumerationID = new XmlSchemaEnumerationFacet(); restriction.Facets.Add(enumerationID); enumerationID.Value = "ID"; // <xs:annotation> XmlSchemaAnnotation annID = new XmlSchemaAnnotation(); enumerationID.Annotation = annID; // <xs:documentation>Idaho</xs:documentation> XmlSchemaDocumentation docID = new XmlSchemaDocumentation(); annID.Items.Add(docID); docID.Markup = TextToNodeArray("Idaho"); schema.Compile(new ValidationEventHandler(ValidationCallbackOne)); XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable()); nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema"); schema.Write(Console.Out, nsmgr); } public static void ValidationCallbackOne(object sender, ValidationEventArgs args) { Console.WriteLine(args.Message); } public static XmlNode[] TextToNodeArray(string text) { XmlDocument doc = new XmlDocument(); return new XmlNode[1] {doc.CreateTextNode(text)}; } }
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>
ctor #1 | Default constructor. This constructor is called by derived class constructors to initialize state in this type. |
Id | Read-write Gets or sets the string id. |
Items | Read-only Gets the Items collection that is used to store the appinfo and documentation child elements. |
LineNumber (inherited from System.Xml.Schema.XmlSchemaObject) |
Read-write See base class member description: System.Xml.Schema.XmlSchemaObject.LineNumber Gets or sets the line number in the file to which the schema element refers. |
LinePosition (inherited from System.Xml.Schema.XmlSchemaObject) |
Read-write See base class member description: System.Xml.Schema.XmlSchemaObject.LinePosition Gets or sets the line position in the file to which the schema element refers. |
Namespaces (inherited from System.Xml.Schema.XmlSchemaObject) |
Read-write See base class member description: System.Xml.Schema.XmlSchemaObject.Namespaces |
SourceUri (inherited from System.Xml.Schema.XmlSchemaObject) |
Read-write See base class member description: System.Xml.Schema.XmlSchemaObject.SourceUri Gets or sets the source location for the file that loaded the schema. |
UnhandledAttributes | Read-write Gets and sets the qualified attributes that do not belong to the schema target namespace. |
Equals (inherited from System.Object) |
See base class member description: System.Object.Equals Derived from System.Object, the primary base class for all objects. |
GetHashCode (inherited from System.Object) |
See base class member description: System.Object.GetHashCode Derived from System.Object, the primary base class for all objects. |
GetType (inherited from System.Object) |
See base class member description: System.Object.GetType Derived from System.Object, the primary base class for all objects. |
ToString (inherited from System.Object) |
See base class member description: System.Object.ToString Derived from System.Object, the primary base class for all objects. |
Finalize (inherited from System.Object) |
See base class member description: System.Object.Finalize Derived from System.Object, the primary base class for all objects. |
MemberwiseClone (inherited from System.Object) |
See base class member description: System.Object.MemberwiseClone Derived from System.Object, the primary base class for all objects. |
Hierarchy:
public XmlSchemaAnnotation(); |
public string Id {get; set;}
|
public XmlSchemaObjectCollection Items {get;}
|
public int LineNumber {get; set;}
|
public int LinePosition {get; set;}
|
public XmlSerializerNamespaces Namespaces {get; set;}
|
public string SourceUri {get; set;}
|
public XmlAttribute[] UnhandledAttributes {get; set;}
|
~XmlSchemaAnnotation(); |
public virtual int GetHashCode(); |
public Type GetType(); |
protected object MemberwiseClone(); |
public virtual string ToString(); |