XmlSchemaEnumerationFacet 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
按万维网联合会 (W3C) 指定的方式表示来自 XML 架构的 enumeration
方面。 此类为 simpleType 元素指定有效值列表。 声明包含在 restriction
声明中。
public ref class XmlSchemaEnumerationFacet : System::Xml::Schema::XmlSchemaFacet
public class XmlSchemaEnumerationFacet : System.Xml.Schema.XmlSchemaFacet
type XmlSchemaEnumerationFacet = class
inherit XmlSchemaFacet
Public Class XmlSchemaEnumerationFacet
Inherits XmlSchemaFacet
- 继承
示例
下例显示了 XmlSchemaEnumerationFacet
类的用法。
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;
class XmlSchemaExamples
{
public:
static void Main()
{
XmlSchema^ schema = gcnew XmlSchema();
// <xs:simpleType name="SizeType">
XmlSchemaSimpleType^ SizeType = gcnew XmlSchemaSimpleType();
SizeType->Name = "SizeType";
// <xs:restriction base="xs:string">
XmlSchemaSimpleTypeRestriction^ restriction = gcnew XmlSchemaSimpleTypeRestriction();
restriction->BaseTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:enumeration value="Small"/>
XmlSchemaEnumerationFacet^ enumerationSmall = gcnew XmlSchemaEnumerationFacet();
enumerationSmall->Value = "Small";
restriction->Facets->Add(enumerationSmall);
// <xs:enumeration value="Medium"/>
XmlSchemaEnumerationFacet^ enumerationMedium = gcnew XmlSchemaEnumerationFacet();
enumerationMedium->Value = "Medium";
restriction->Facets->Add(enumerationMedium);
// <xs:enumeration value="Large"/>
XmlSchemaEnumerationFacet^ enumerationLarge = gcnew XmlSchemaEnumerationFacet();
enumerationLarge->Value = "Large";
restriction->Facets->Add(enumerationLarge);
SizeType->Content = restriction;
schema->Items->Add(SizeType);
// <xs:element name="Item">
XmlSchemaElement^ elementItem = gcnew XmlSchemaElement();
elementItem->Name = "Item";
// <xs:complexType>
XmlSchemaComplexType^ complexType = gcnew XmlSchemaComplexType();
// <xs:attribute name="Size" type="SizeType"/>
XmlSchemaAttribute^ attributeSize = gcnew XmlSchemaAttribute();
attributeSize->Name = "Size";
attributeSize->SchemaTypeName = gcnew XmlQualifiedName("SizeType", "");
complexType->Attributes->Add(attributeSize);
elementItem->SchemaType = complexType;
schema->Items->Add(elementItem);
XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet();
schemaSet->ValidationEventHandler += gcnew ValidationEventHandler(ValidationCallbackOne);
schemaSet->Add(schema);
schemaSet->Compile();
XmlSchema^ compiledSchema;
for each (XmlSchema^ schema1 in schemaSet->Schemas())
{
compiledSchema = schema1;
}
XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager(gcnew NameTable());
nsmgr->AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
compiledSchema->Write(Console::Out, nsmgr);
}
static void ValidationCallbackOne(Object^ sender, ValidationEventArgs^ args)
{
Console::WriteLine(args->Message);
}
};
int main()
{
XmlSchemaExamples::Main();
return 0;
};
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);
}
}
Option Strict On
Option Explicit On
Imports System.Xml
Imports System.Xml.Schema
Class XMLSchemaExamples
Public Shared Sub Main()
Dim schema As New XmlSchema()
' <xs:simpleType name="SizeType">
Dim SizeType As New XmlSchemaSimpleType()
SizeType.Name = "SizeType"
' <xs:restriction base="xs:string">
Dim restriction As New XmlSchemaSimpleTypeRestriction()
restriction.BaseTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
' <xs:enumeration value="Small"/>
Dim enumerationSmall As New XmlSchemaEnumerationFacet()
enumerationSmall.Value = "Small"
restriction.Facets.Add(enumerationSmall)
' <xs:enumeration value="Medium"/>
Dim enumerationMedium As New XmlSchemaEnumerationFacet()
enumerationMedium.Value = "Medium"
restriction.Facets.Add(enumerationMedium)
' <xs:enumeration value="Large"/>
Dim enumerationLarge As New XmlSchemaEnumerationFacet()
enumerationLarge.Value = "Large"
restriction.Facets.Add(enumerationLarge)
SizeType.Content = restriction
schema.Items.Add(SizeType)
' <xs:element name="Item">
Dim elementItem As New XmlSchemaElement()
elementItem.Name = "Item"
' <xs:complexType>
Dim complexType As New XmlSchemaComplexType()
' <xs:attribute name="Size" type="SizeType"/>
Dim attributeSize As New XmlSchemaAttribute()
attributeSize.Name = "Size"
attributeSize.SchemaTypeName = New XmlQualifiedName("SizeType", "")
complexType.Attributes.Add(attributeSize)
elementItem.SchemaType = complexType
schema.Items.Add(elementItem)
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
End Class
为前面的代码示例生成以下 XML 文件。
<?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>
构造函数
XmlSchemaEnumerationFacet() |
初始化 XmlSchemaEnumerationFacet 类的新实例。 |
属性
Annotation |
获取或设置 |
Id |
获取或设置字符串 ID。 (继承自 XmlSchemaAnnotated) |
IsFixed |
获取或设置指示此方面已固定的信息。 (继承自 XmlSchemaFacet) |
LineNumber |
获取或设置 |
LinePosition |
获取或设置 |
Namespaces |
获取或设置用于此架构对象的 XmlSerializerNamespaces。 (继承自 XmlSchemaObject) |
Parent |
获取或设置此 XmlSchemaObject 的父级。 (继承自 XmlSchemaObject) |
SourceUri |
获取或设置加载了架构的文件的源位置。 (继承自 XmlSchemaObject) |
UnhandledAttributes |
获取或设置不属于当前架构目标命名空间的限定特性。 (继承自 XmlSchemaAnnotated) |
Value |
获取或设置此方面的 |
方法
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |