public class XmlSchemaChoice : XmlSchemaGroupBase
|
using System; using System.Xml; using System.Xml.Schema; class XMLSchemaExamples { public static void Main() { XmlSchema schema = new XmlSchema(); // <xs:element name="selected"/> XmlSchemaElement xeSelected = new XmlSchemaElement(); xeSelected.Name = "selected"; schema.Items.Add(xeSelected); // <xs:element name="unselected"/> XmlSchemaElement xeUnselected = new XmlSchemaElement(); xeUnselected.Name = "unselected"; schema.Items.Add(xeUnselected); // <xs:element name="dimpled"/> XmlSchemaElement xeDimpled = new XmlSchemaElement(); xeDimpled.Name = "dimpled"; schema.Items.Add(xeDimpled); // <xs:element name="perforated"/> XmlSchemaElement xePerforated = new XmlSchemaElement(); xePerforated.Name = "perforated"; schema.Items.Add(xePerforated); // <xs:complexType name="chadState"> XmlSchemaComplexType chadState = new XmlSchemaComplexType(); schema.Items.Add(chadState); chadState.Name = "chadState"; // <xs:choice minOccurs="1" maxOccurs="1"> XmlSchemaChoice choice = new XmlSchemaChoice(); chadState.Particle = choice; choice.MinOccurs = 1; choice.MaxOccurs = 1; // <xs:element ref="selected"/> XmlSchemaElement elementSelected = new XmlSchemaElement(); choice.Items.Add(elementSelected); elementSelected.RefName = new XmlQualifiedName("selected"); // <xs:element ref="unselected"/> XmlSchemaElement elementUnselected = new XmlSchemaElement(); choice.Items.Add(elementUnselected); elementUnselected.RefName = new XmlQualifiedName("unselected"); // <xs:element ref="dimpled"/> XmlSchemaElement elementDimpled = new XmlSchemaElement(); choice.Items.Add(elementDimpled); elementDimpled.RefName = new XmlQualifiedName("dimpled"); // <xs:element ref="perforated"/> XmlSchemaElement elementPerforated = new XmlSchemaElement(); choice.Items.Add(elementPerforated); elementPerforated.RefName = new XmlQualifiedName("perforated"); 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); } }
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:element name="selected"/> <xs:element name="unselected"/> <xs:element name="dimpled"/> <xs:element name="perforated"/> <xs:complexType name="chadState"> <xs:choice minOccurs="1" maxOccurs="1"> <xs:element ref="selected"/> <xs:element ref="unselected"/> <xs:element ref="dimpled"/> <xs:element ref="perforated"/> </xs:choice> </xs:complexType> </xs:schema>
ctor #1 | Default constructor. This constructor is called by derived class constructors to initialize state in this type. |
Annotation (inherited from System.Xml.Schema.XmlSchemaAnnotated) |
Read-write See base class member description: System.Xml.Schema.XmlSchemaAnnotated.Annotation Gets or sets the annotation property. |
Id (inherited from System.Xml.Schema.XmlSchemaAnnotated) |
Read-write See base class member description: System.Xml.Schema.XmlSchemaAnnotated.Id Gets or sets the string id. |
Items | Read-only Overridden: Gets the collection of the elements contained with the compositor (choice): XmlSchemaElement, XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaSequence, or XmlSchemaAny. |
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. |
MaxOccurs (inherited from System.Xml.Schema.XmlSchemaParticle) |
Read-write See base class member description: System.Xml.Schema.XmlSchemaParticle.MaxOccurs Gets or sets the maximum number of times the particle can occur. |
MaxOccursString (inherited from System.Xml.Schema.XmlSchemaParticle) |
Read-write See base class member description: System.Xml.Schema.XmlSchemaParticle.MaxOccursString Gets or sets the number as a string value. Maximum number of times the particle can occur. |
MinOccurs (inherited from System.Xml.Schema.XmlSchemaParticle) |
Read-write See base class member description: System.Xml.Schema.XmlSchemaParticle.MinOccurs Gets or sets the minimum number of times the particle can occur. |
MinOccursString (inherited from System.Xml.Schema.XmlSchemaParticle) |
Read-write See base class member description: System.Xml.Schema.XmlSchemaParticle.MinOccursString Gets or sets the number as a string value. The minimum number of times the particle can occur. |
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 (inherited from System.Xml.Schema.XmlSchemaAnnotated) |
Read-write See base class member description: System.Xml.Schema.XmlSchemaAnnotated.UnhandledAttributes Gets or 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 XmlSchemaChoice(); |
public XmlSchemaAnnotation Annotation {get; set;}
|
public string Id {get; set;}
|
Optional.
public override XmlSchemaObjectCollection Items {get;}
|
public int LineNumber {get; set;}
|
public int LinePosition {get; set;}
|
public decimal MaxOccurs {get; set;}
|
public string MaxOccursString {get; set;}
|
To set no limit on the maximum number, use the string "unbounded".
public decimal MinOccurs {get; set;}
|
public string MinOccursString {get; set;}
|
public XmlSerializerNamespaces Namespaces {get; set;}
|
public string SourceUri {get; set;}
|
public XmlAttribute[] UnhandledAttributes {get; set;}
|
~XmlSchemaChoice(); |
public virtual int GetHashCode(); |
public Type GetType(); |
protected object MemberwiseClone(); |
public virtual string ToString(); |