XmlSchemaLengthFacet 类
定义
按万维网联合会 (W3C) 指定的方式表示来自 XML 架构的 length 方面。Represents the length facet from XML Schema as specified by the World Wide Web Consortium (W3C). 此类可用于指定数据类型的 simpleType 元素的长度限制。This class can be used to specify a restriction on the length of a simpleType element on the data type.
public ref class XmlSchemaLengthFacet : System::Xml::Schema::XmlSchemaNumericFacet
public class XmlSchemaLengthFacet : System.Xml.Schema.XmlSchemaNumericFacet
type XmlSchemaLengthFacet = class
inherit XmlSchemaNumericFacet
Public Class XmlSchemaLengthFacet
Inherits XmlSchemaNumericFacet
- 继承
示例
下例显示了 XmlSchemaLengthFacet 类的用法。The following example shows the use of the XmlSchemaLengthFacet class.
#using <System.Xml.dll>
using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;
ref class XMLSchemaExamples
{
private:
static void ValidationCallbackOne(Object^ sender, ValidationEventArgs^ args)
{
Console::WriteLine(args->Message);
}
public:
static void Main()
{
XmlSchema^ schema = gcnew XmlSchema();
// <xs:simpleType name="ZipCodeType">
XmlSchemaSimpleType^ ZipCodeType = gcnew XmlSchemaSimpleType();
ZipCodeType->Name = "ZipCodeType";
// <xs:restriction base="xs:string">
XmlSchemaSimpleTypeRestriction^ restriction = gcnew XmlSchemaSimpleTypeRestriction();
restriction->BaseTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:length value="5"/>
XmlSchemaLengthFacet^ length = gcnew XmlSchemaLengthFacet();
length->Value = "5";
restriction->Facets->Add(length);
ZipCodeType->Content = restriction;
schema->Items->Add(ZipCodeType);
// <xs:element name="Address">
XmlSchemaElement^ element = gcnew XmlSchemaElement();
element->Name = "Address";
// <xs:complexType>
XmlSchemaComplexType^ complexType = gcnew XmlSchemaComplexType();
// <xs:attribute name="ZipCode" type="ZipCodeType"/>
XmlSchemaAttribute^ ZipCodeAttribute = gcnew XmlSchemaAttribute();
ZipCodeAttribute->Name = "ZipCode";
ZipCodeAttribute->SchemaTypeName = gcnew XmlQualifiedName("ZipCodeType", "");
complexType->Attributes->Add(ZipCodeAttribute);
element->SchemaType = complexType;
schema->Items->Add(element);
XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet();
schemaSet->ValidationEventHandler += gcnew ValidationEventHandler(ValidationCallbackOne);
schemaSet->Add(schema);
schemaSet->Compile();
XmlSchema^ compiledSchema = nullptr;
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);
}
};
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="ZipCodeType">
XmlSchemaSimpleType ZipCodeType = new XmlSchemaSimpleType();
ZipCodeType.Name = "ZipCodeType";
// <xs:restriction base="xs:string">
XmlSchemaSimpleTypeRestriction restriction = new XmlSchemaSimpleTypeRestriction();
restriction.BaseTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:length value="5"/>
XmlSchemaLengthFacet length = new XmlSchemaLengthFacet();
length.Value = "5";
restriction.Facets.Add(length);
ZipCodeType.Content = restriction;
schema.Items.Add(ZipCodeType);
// <xs:element name="Address">
XmlSchemaElement element = new XmlSchemaElement();
element.Name = "Address";
// <xs:complexType>
XmlSchemaComplexType complexType = new XmlSchemaComplexType();
// <xs:attribute name="ZipCode" type="ZipCodeType"/>
XmlSchemaAttribute ZipCodeAttribute = new XmlSchemaAttribute();
ZipCodeAttribute.Name = "ZipCode";
ZipCodeAttribute.SchemaTypeName = new XmlQualifiedName("ZipCodeType", "");
complexType.Attributes.Add(ZipCodeAttribute);
element.SchemaType = complexType;
schema.Items.Add(element);
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);
}
}
Imports System.Xml
Imports System.Xml.Schema
Class XMLSchemaExamples
Public Shared Sub Main()
Dim schema As New XmlSchema()
' <xs:simpleType name="ZipCodeType">
Dim ZipCodeType As New XmlSchemaSimpleType()
ZipCodeType.Name = "ZipCodeType"
' <xs:restriction base="xs:string">
Dim restriction As New XmlSchemaSimpleTypeRestriction()
restriction.BaseTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
' <xs:length value="5"/>
Dim length As New XmlSchemaLengthFacet()
length.Value = "5"
restriction.Facets.Add(length)
ZipCodeType.Content = restriction
schema.Items.Add(ZipCodeType)
' <xs:element name="Address">
Dim element As New XmlSchemaElement()
element.Name = "Address"
' <xs:complexType>
Dim complexType As New XmlSchemaComplexType()
' <xs:attribute name="ZipCode" type="ZipCodeType"/>
Dim ZipCodeAttribute As New XmlSchemaAttribute()
ZipCodeAttribute.Name = "ZipCode"
ZipCodeAttribute.SchemaTypeName = New XmlQualifiedName("ZipCodeType", "")
complexType.Attributes.Add(ZipCodeAttribute)
element.SchemaType = complexType
schema.Items.Add(element)
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 文件是针对前面的代码示例生成的。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="ZipCodeType">
<xs:restriction base="xs:string">
<xs:length value="5"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="Address">
<xs:complexType>
<xs:attribute name="ZipCode" type="ZipCodeType"/>
</xs:complexType>
</xs:element>
</xs:schema>
构造函数
| XmlSchemaLengthFacet() |
初始化 XmlSchemaLengthFacet 类的新实例。Initializes a new instance of the XmlSchemaLengthFacet class. |
属性
| Annotation |
获取或设置 |
| Id |
获取或设置字符串 ID。Gets or sets the string id. (继承自 XmlSchemaAnnotated) |
| IsFixed |
获取或设置指示此方面已固定的信息。Gets or sets information that indicates that this facet is fixed. (继承自 XmlSchemaFacet) |
| LineNumber |
获取或设置 |
| LinePosition |
获取或设置 |
| Namespaces |
获取或设置用于此架构对象的 XmlSerializerNamespaces。Gets or sets the XmlSerializerNamespaces to use with this schema object. (继承自 XmlSchemaObject) |
| Parent |
获取或设置此 XmlSchemaObject 的父级。Gets or sets the parent of this XmlSchemaObject. (继承自 XmlSchemaObject) |
| SourceUri |
获取或设置加载了架构的文件的源位置。Gets or sets the source location for the file that loaded the schema. (继承自 XmlSchemaObject) |
| UnhandledAttributes |
获取或设置不属于当前架构目标命名空间的限定特性。Gets or sets the qualified attributes that do not belong to the current schema's target namespace. (继承自 XmlSchemaAnnotated) |
| Value |
获取或设置此方面的 |
方法
| Equals(Object) |
确定指定对象是否等于当前对象。Determines whether the specified object is equal to the current object. (继承自 Object) |
| GetHashCode() |
作为默认哈希函数。Serves as the default hash function. (继承自 Object) |
| GetType() |
获取当前实例的 Type。Gets the Type of the current instance. (继承自 Object) |
| MemberwiseClone() |
创建当前 Object 的浅表副本。Creates a shallow copy of the current Object. (继承自 Object) |
| ToString() |
返回表示当前对象的字符串。Returns a string that represents the current object. (继承自 Object) |