Поделиться через


XmlSchemaMinLengthFacet Класс

Определение

Представляет элемент minLength из схемы XML, определенной консорциумом World Wide Web Consortium (W3C). Этот класс позволяет установить ограничение на минимальную длину значения данных элемента simpleType. Длина должна быть больше значения элемента minLength.

public ref class XmlSchemaMinLengthFacet : System::Xml::Schema::XmlSchemaNumericFacet
public class XmlSchemaMinLengthFacet : System.Xml.Schema.XmlSchemaNumericFacet
type XmlSchemaMinLengthFacet = class
    inherit XmlSchemaNumericFacet
Public Class XmlSchemaMinLengthFacet
Inherits XmlSchemaNumericFacet
Наследование

Примеры

В приведенном ниже примере показано использование класса XmlSchemaMinLengthFacet.

#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:minLength value="5"/>
        XmlSchemaMinLengthFacet^ minLength = gcnew XmlSchemaMinLengthFacet();
        minLength->Value = "5";
        restriction->Facets->Add(minLength);

        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:minLength value="5"/>
        XmlSchemaMinLengthFacet minLength = new XmlSchemaMinLengthFacet();
        minLength.Value = "5";
        restriction.Facets.Add(minLength);

        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:minLength value="5"/>
        Dim minLength As New XmlSchemaMinLengthFacet()
        minLength.Value = "5"
        restriction.Facets.Add(minLength)

        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-файл.

<?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:minLength value="5"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:element name="Address">
        <xs:complexType>
            <xs:attribute name="ZipCode" type="ZipCodeType"/>
        </xs:complexType>
    </xs:element>
</xs:schema>

Конструкторы

XmlSchemaMinLengthFacet()

Инициализирует новый экземпляр класса XmlSchemaMinLengthFacet.

Свойства

Annotation

Возвращает или задает свойство annotation.

(Унаследовано от XmlSchemaAnnotated)
Id

Получает или задает идентификатор строки.

(Унаследовано от XmlSchemaAnnotated)
IsFixed

Получает или задает сведения, указывающие, что данный аспект зафиксирован.

(Унаследовано от XmlSchemaFacet)
LineNumber

Получает или задает номер строки в файле, на которую ссылается элемент schema.

(Унаследовано от XmlSchemaObject)
LinePosition

Получает или задает позицию в строке файла, на которую ссылается элемент schema.

(Унаследовано от XmlSchemaObject)
Namespaces

Получает или задает XmlSerializerNamespaces для использования с данным объектом схемы.

(Унаследовано от XmlSchemaObject)
Parent

Получает или задает родительский элемент данного XmlSchemaObject.

(Унаследовано от XmlSchemaObject)
SourceUri

Получает или задает исходного расположение для файла, загрузившего данную схему.

(Унаследовано от XmlSchemaObject)
UnhandledAttributes

Получает или задает уточненные атрибуты, не принадлежащие целевому пространству имен текущей схемы.

(Унаследовано от XmlSchemaAnnotated)
Value

Получает или задает атрибут value для аспекта.

(Унаследовано от XmlSchemaFacet)

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к