XmlSchemaPatternFacet Klasse

Definition

Stellt das pattern Element aus dem XML-Schema dar, wie vom World Wide Web Consortium (W3C) angegeben. Diese Klasse kann verwendet werden, um eine Einschränkung für den für ein simpleType Element eingegebenen Wert anzugeben.

public ref class XmlSchemaPatternFacet : System::Xml::Schema::XmlSchemaFacet
public class XmlSchemaPatternFacet : System.Xml.Schema.XmlSchemaFacet
type XmlSchemaPatternFacet = class
    inherit XmlSchemaFacet
Public Class XmlSchemaPatternFacet
Inherits XmlSchemaFacet
Vererbung

Beispiele

Das folgende Beispiel zeigt die Verwendung der XmlSchemaPatternFacet Klasse.

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:pattern value="[0-9]{5}(-[0-9]{4})?"/>
        XmlSchemaPatternFacet pattern = new XmlSchemaPatternFacet();
        pattern.Value = "[0-9]{5}(-[0-9]{4})?";
        restriction.Facets.Add(pattern);

        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:pattern value="[0-9]{5}(-[0-9]{4})?"/>
        Dim pattern As New XmlSchemaPatternFacet()
        pattern.Value = "[0-9]{5}(-[0-9]{4})?"
        restriction.Facets.Add(pattern)

        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

Die folgende XML-Datei wird für das vorherige Codebeispiel generiert.

<?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:pattern value="[0-9]{5}(-[0-9]{4})?"/>
        </xs:restriction>
    </xs:simpleType>

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

Konstruktoren

Name Beschreibung
XmlSchemaPatternFacet()

Initialisiert eine neue Instanz der XmlSchemaPatternFacet-Klasse.

Eigenschaften

Name Beschreibung
Annotation

Dient zum Abrufen oder Festlegen der annotation Eigenschaft.

(Geerbt von XmlSchemaAnnotated)
Id

Dient zum Abrufen oder Festlegen der Zeichenfolgen-ID.

(Geerbt von XmlSchemaAnnotated)
IsFixed

Dient zum Abrufen oder Festlegen von Informationen, die angibt, dass dieses Facet behoben ist.

(Geerbt von XmlSchemaFacet)
LineNumber

Ruft die Zeilennummer in der Datei ab, auf die sich das Element bezieht, oder legt diese schema fest.

(Geerbt von XmlSchemaObject)
LinePosition

Ruft die Zeilenposition in der Datei ab, auf die sich das Element bezieht, oder legt diese schema fest.

(Geerbt von XmlSchemaObject)
Namespaces

Dient zum Abrufen oder Festlegen der XmlSerializerNamespaces Verwendung mit diesem Schemaobjekt.

(Geerbt von XmlSchemaObject)
Parent

Dient zum Abrufen oder Festlegen des übergeordneten Elements dieser XmlSchemaObject.

(Geerbt von XmlSchemaObject)
SourceUri

Ruft den Quellspeicherort für die Datei ab, die das Schema geladen hat, oder legt diesen fest.

(Geerbt von XmlSchemaObject)
UnhandledAttributes

Ruft die qualifizierten Attribute ab, die nicht zum Zielnamespace des aktuellen Schemas gehören, oder legt diese fest.

(Geerbt von XmlSchemaAnnotated)
Value

Dient zum value Abrufen oder Festlegen des Attributs des Facets.

(Geerbt von XmlSchemaFacet)

Methoden

Name Beschreibung
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: