XmlSchemaEnumerationFacet Class
Represents the enumeration facet from XML Schema as specified by the World Wide Web Consortium (W3C). This class specifies a list of valid values for a simpleType element. Declaration is contained within a restriction declaration.
Assembly: System.Xml (in System.Xml.dll)
System.Xml.Schema.XmlSchemaObject
System.Xml.Schema.XmlSchemaAnnotated
System.Xml.Schema.XmlSchemaFacet
System.Xml.Schema.XmlSchemaEnumerationFacet
| Name | Description | |
|---|---|---|
![]() | XmlSchemaEnumerationFacet() | Initializes a new instance of the XmlSchemaEnumerationFacet class. |
| Name | Description | |
|---|---|---|
![]() | Annotation | Gets or sets the annotation property.(Inherited from XmlSchemaAnnotated.) |
![]() | Id | Gets or sets the string id.(Inherited from XmlSchemaAnnotated.) |
![]() | IsFixed | Gets or sets information that indicates that this facet is fixed.(Inherited from XmlSchemaFacet.) |
![]() | LineNumber | Gets or sets the line number in the file to which the schema element refers.(Inherited from XmlSchemaObject.) |
![]() | LinePosition | Gets or sets the line position in the file to which the schema element refers.(Inherited from XmlSchemaObject.) |
![]() | Namespaces | Gets or sets the XmlSerializerNamespaces to use with this schema object.(Inherited from XmlSchemaObject.) |
![]() | Parent | Gets or sets the parent of this XmlSchemaObject.(Inherited from XmlSchemaObject.) |
![]() | SourceUri | Gets or sets the source location for the file that loaded the schema.(Inherited from XmlSchemaObject.) |
![]() | UnhandledAttributes | Gets or sets the qualified attributes that do not belong to the current schema's target namespace.(Inherited from XmlSchemaAnnotated.) |
![]() | Value | Gets or sets the value attribute of the facet.(Inherited from XmlSchemaFacet.) |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
The following example shows the use of the XmlSchemaEnumerationFacet class.
using System; using System.Xml; using System.Xml.Schema; class XMLSchemaExamples { public static void Main() { XmlSchema schema = new XmlSchema(); // <xs:simpleType name="SizeType"> XmlSchemaSimpleType SizeType = new XmlSchemaSimpleType(); SizeType.Name = "SizeType"; // <xs:restriction base="xs:string"> XmlSchemaSimpleTypeRestriction restriction = new XmlSchemaSimpleTypeRestriction(); restriction.BaseTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema"); // <xs:enumeration value="Small"/> XmlSchemaEnumerationFacet enumerationSmall = new XmlSchemaEnumerationFacet(); enumerationSmall.Value = "Small"; restriction.Facets.Add(enumerationSmall); // <xs:enumeration value="Medium"/> XmlSchemaEnumerationFacet enumerationMedium = new XmlSchemaEnumerationFacet(); enumerationMedium.Value = "Medium"; restriction.Facets.Add(enumerationMedium); // <xs:enumeration value="Large"/> XmlSchemaEnumerationFacet enumerationLarge = new XmlSchemaEnumerationFacet(); enumerationLarge.Value = "Large"; restriction.Facets.Add(enumerationLarge); SizeType.Content = restriction; schema.Items.Add(SizeType); // <xs:element name="Item"> XmlSchemaElement elementItem = new XmlSchemaElement(); elementItem.Name = "Item"; // <xs:complexType> XmlSchemaComplexType complexType = new XmlSchemaComplexType(); // <xs:attribute name="Size" type="SizeType"/> XmlSchemaAttribute attributeSize = new XmlSchemaAttribute(); attributeSize.Name = "Size"; attributeSize.SchemaTypeName = new XmlQualifiedName("SizeType", ""); complexType.Attributes.Add(attributeSize); elementItem.SchemaType = complexType; schema.Items.Add(elementItem); XmlSchemaSet schemaSet = new XmlSchemaSet(); schemaSet.ValidationEventHandler += new ValidationEventHandler(ValidationCallbackOne); schemaSet.Add(schema); schemaSet.Compile(); XmlSchema compiledSchema = null; foreach (XmlSchema schema1 in schemaSet.Schemas()) { compiledSchema = schema1; } XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable()); nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema"); compiledSchema.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:simpleType name="SizeType"> <xs:restriction base="xs:string"> <xs:enumeration value="Small" /> <xs:enumeration value="Medium" /> <xs:enumeration value="Large" /> </xs:restriction> </xs:simpleType> <xs:element name="Item"> <xs:complexType> <xs:attribute name="Size" type="SizeType" /> </xs:complexType> </xs:element> </xs:schema>
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.


