XmlSchema Sınıf

Tanım

World Wide Web Konsorsiyumu (W3C) XML şeması Bölüm 1: yapılar ve XML şeması Bölüm 2: veri türleri] IÇINDE belirtilen şekilde bir XML şemasının bellek içi temsili.An in-memory representation of an XML Schema, as specified in the World Wide Web Consortium (W3C) XML Schema Part 1: Structures and XML Schema Part 2: Datatypes].

public ref class XmlSchema
public ref class XmlSchema : System::Xml::Schema::XmlSchemaObject
public class XmlSchema
public class XmlSchema : System.Xml.Schema.XmlSchemaObject
type XmlSchema = class
type XmlSchema = class
    inherit XmlSchemaObject
Public Class XmlSchema
Public Class XmlSchema
Inherits XmlSchemaObject
Devralma
XmlSchema
Devralma

Örnekler

Aşağıdaki örnek bir şema tanımı oluşturur.The following example creates a schema definition.

#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:element name="cat" type="xs:string"/>
        XmlSchemaElement^ elementCat = gcnew XmlSchemaElement();
        schema->Items->Add(elementCat);
        elementCat->Name = "cat";
        elementCat->SchemaTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:element name="dog" type="xs:string"/>
        XmlSchemaElement^ elementDog = gcnew XmlSchemaElement();
        schema->Items->Add(elementDog);
        elementDog->Name = "dog";
        elementDog->SchemaTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:element name="redDog" substitutionGroup="dog" />
        XmlSchemaElement^ elementRedDog = gcnew XmlSchemaElement();
        schema->Items->Add(elementRedDog);
        elementRedDog->Name = "redDog";
        elementRedDog->SubstitutionGroup = gcnew XmlQualifiedName("dog");

        // <xs:element name="brownDog" substitutionGroup ="dog" />
        XmlSchemaElement^ elementBrownDog = gcnew XmlSchemaElement();
        schema->Items->Add(elementBrownDog);
        elementBrownDog->Name = "brownDog";
        elementBrownDog->SubstitutionGroup = gcnew XmlQualifiedName("dog");


        // <xs:element name="pets">
        XmlSchemaElement^ elementPets = gcnew XmlSchemaElement();
        schema->Items->Add(elementPets);
        elementPets->Name = "pets";

        // <xs:complexType>
        XmlSchemaComplexType^ complexType = gcnew XmlSchemaComplexType();
        elementPets->SchemaType = complexType;

        // <xs:choice minOccurs="0" maxOccurs="unbounded">
        XmlSchemaChoice^ choice = gcnew XmlSchemaChoice();
        complexType->Particle = choice;
        choice->MinOccurs = 0;
        choice->MaxOccursString = "unbounded";

        // <xs:element ref="cat"/>
        XmlSchemaElement^ catRef = gcnew XmlSchemaElement();
        choice->Items->Add(catRef);
        catRef->RefName = gcnew XmlQualifiedName("cat");

        // <xs:element ref="dog"/>
        XmlSchemaElement^ dogRef = gcnew XmlSchemaElement();
        choice->Items->Add(dogRef);
        dogRef->RefName = gcnew XmlQualifiedName("dog");

        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:element name="cat" type="xs:string"/>
        XmlSchemaElement elementCat = new XmlSchemaElement();
        schema.Items.Add(elementCat);
        elementCat.Name = "cat";
        elementCat.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:element name="dog" type="xs:string"/>
        XmlSchemaElement elementDog = new XmlSchemaElement();
        schema.Items.Add(elementDog);
        elementDog.Name = "dog";
        elementDog.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:element name="redDog" substitutionGroup="dog" />
        XmlSchemaElement elementRedDog = new XmlSchemaElement();
        schema.Items.Add(elementRedDog);
        elementRedDog.Name = "redDog";
        elementRedDog.SubstitutionGroup = new XmlQualifiedName("dog");

        // <xs:element name="brownDog" substitutionGroup ="dog" />
        XmlSchemaElement elementBrownDog = new XmlSchemaElement();
        schema.Items.Add(elementBrownDog);
        elementBrownDog.Name = "brownDog";
        elementBrownDog.SubstitutionGroup = new XmlQualifiedName("dog");

        // <xs:element name="pets">
        XmlSchemaElement elementPets = new XmlSchemaElement();
        schema.Items.Add(elementPets);
        elementPets.Name = "pets";

        // <xs:complexType>
        XmlSchemaComplexType complexType = new XmlSchemaComplexType();
        elementPets.SchemaType = complexType;

        // <xs:choice minOccurs="0" maxOccurs="unbounded">
        XmlSchemaChoice choice = new XmlSchemaChoice();
        complexType.Particle = choice;
        choice.MinOccurs = 0;
        choice.MaxOccursString = "unbounded";

        // <xs:element ref="cat"/>
        XmlSchemaElement catRef = new XmlSchemaElement();
        choice.Items.Add(catRef);
        catRef.RefName = new XmlQualifiedName("cat");

        // <xs:element ref="dog"/>
        XmlSchemaElement dogRef = new XmlSchemaElement();
        choice.Items.Add(dogRef);
        dogRef.RefName = new XmlQualifiedName("dog");

        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 Explicit On
Option Strict On

Imports System.Xml
Imports System.Xml.Schema

Class XMLSchemaExamples
    Public Shared Sub Main()
        Dim schema As New XmlSchema()

        ' <xs:element name="cat" type="xs:string"/>
        Dim elementCat As New XmlSchemaElement()
        schema.Items.Add(elementCat)
        elementCat.Name = "cat"
        elementCat.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")

        ' <xs:element name="dog" type="xs:string"/>
        Dim elementDog As New XmlSchemaElement()
        schema.Items.Add(elementDog)
        elementDog.Name = "dog"
        elementDog.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")

        ' <xs:element name="redDog" substitutionGroup="dog" />
        Dim elementRedDog As New XmlSchemaElement()
        schema.Items.Add(elementRedDog)
        elementRedDog.Name = "redDog"
        elementRedDog.SubstitutionGroup = New XmlQualifiedName("dog")

        ' <xs:element name="brownDog" substitutionGroup ="dog" />
        Dim elementBrownDog As New XmlSchemaElement()
        schema.Items.Add(elementBrownDog)
        elementBrownDog.Name = "brownDog"
        elementBrownDog.SubstitutionGroup = New XmlQualifiedName("dog")

        ' <xs:element name="pets">
        Dim elementPets As New XmlSchemaElement()
        schema.Items.Add(elementPets)
        elementPets.Name = "pets"

        ' <xs:complexType>
        Dim complexType As New XmlSchemaComplexType()
        elementPets.SchemaType = complexType

        ' <xs:choice minOccurs="0" maxOccurs="unbounded">
        Dim choice As New XmlSchemaChoice()
        complexType.Particle = choice
        choice.MinOccurs = 0
        choice.MaxOccursString = "unbounded"

        ' <xs:element ref="cat"/>
        Dim catRef As New XmlSchemaElement()
        choice.Items.Add(catRef)
        catRef.RefName = New XmlQualifiedName("cat")

        ' <xs:element ref="dog"/>
        Dim dogRef As New XmlSchemaElement()
        choice.Items.Add(dogRef)
        dogRef.RefName = New XmlQualifiedName("dog")

        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

Aşağıdaki XML dosyası, önceki kod örneği için oluşturulur.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:element name="cat" type="xs:string"/>
    <xs:element name="dog" type="xs:string"/>
    <xs:element name="redDog" type="xs:string" substitutionGroup="dog"/>
    <xs:element name="brownDog" type="xs:string" substitutionGroup ="dog" />

    <xs:element name="pets">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="cat"/>
          <xs:element ref="dog"/>
        </xs:choice>
      </xs:complexType>
    </xs:element>
</xs:schema>

Açıklamalar

Önemli

  • Bilinmeyen veya güvenilmeyen kaynaklardan veya konumlardan şemalar kullanmayın.Do not use schemas from unknown or untrusted sources or locations. Bunun yapılması kodunuzun güvenliğine güvenmeyecek.Doing so will compromise the security of your code.
  • XML şemaları (satır içi şemalar dahil), doğal olarak hizmet reddi saldırılarına karşı savunmasız kalır; Bunları güvenilmeyen senaryolarda kabul etmez.XML schemas (including inline schemas) are inherently vulnerable to denial of service attacks; do not accept them in untrusted scenarios.
  • Sınıfını kullanmanın bir sonucu olarak oluşturulan özel durumlar, XmlSchema XmlSchemaException Güvenilmeyen senaryolarda gösterilmemesi gereken hassas bilgiler içerebilir.Exceptions raised as a result of using the XmlSchema class, such as the XmlSchemaException class, may contain sensitive information that should not be exposed in untrusted scenarios. Örneğin, SourceUri öğesinin özelliği, XmlSchemaException özel duruma neden olan şema dosyasının URI yolunu döndürür.For example, the SourceUri property of an XmlSchemaException returns the URI path to the schema file that caused the exception. SourceUriÖzelliği güvenilmeyen senaryolarda gösterilmemelidir.The SourceUri property should not be exposed in untrusted scenarios. Bu hassas bilgilerin güvenilmeyen senaryolarda gösterilmemesi için özel durumların doğru şekilde işlenmesi gerekir.Exceptions should be properly handled so this sensitive information is not exposed in untrusted scenarios.

Oluşturucular

XmlSchema()

XmlSchema sınıfının yeni bir örneğini başlatır.Initializes a new instance of the XmlSchema class.

Alanlar

InstanceNamespace

XML şeması örnek ad alanı.The XML schema instance namespace. Bu alan sabittir.This field is constant.

Namespace

XML şeması ad alanı.The XML schema namespace. Bu alan sabittir.This field is constant.

Özellikler

AttributeFormDefault

Şemanın hedef ad alanında belirtilen özniteliklerin formunu alır veya ayarlar.Gets or sets the form for attributes declared in the target namespace of the schema.

AttributeGroups

Şemadaki tüm genel öznitelik gruplarının şema sonrası-derleme değerini alır.Gets the post-schema-compilation value of all the global attribute groups in the schema.

Attributes

Şemadaki tüm öznitelikler için şema sonrası-derleme değerini alır.Gets the post-schema-compilation value for all the attributes in the schema.

BlockDefault

blockDefault block Öğe ve şema içindeki karmaşık türler üzerinde özniteliğin varsayılan değerini ayarlayan özniteliği alır veya ayarlar targetNamespace .Gets or sets the blockDefault attribute which sets the default value of the block attribute on element and complex types in the targetNamespace of the schema.

ElementFormDefault

Şemanın hedef ad alanında belirtilen öğelerin formunu alır veya ayarlar.Gets or sets the form for elements declared in the target namespace of the schema.

Elements

Şemadaki tüm öğeler için şema sonrası-derleme değerini alır.Gets the post-schema-compilation value for all the elements in the schema.

FinalDefault

finalDefault final Şema hedef ad alanındaki öğeler ve karmaşık türler üzerinde özniteliğin varsayılan değerini ayarlayan özniteliği alır veya ayarlar.Gets or sets the finalDefault attribute which sets the default value of the final attribute on elements and complex types in the target namespace of the schema.

Groups

Şemadaki tüm grupların şema sonrası-derleme değerini alır.Gets the post-schema-compilation value of all the groups in the schema.

Id

Dize KIMLIĞINI alır veya ayarlar.Gets or sets the string ID.

Includes

Dahil edilen ve içeri aktarılan şemaların koleksiyonunu alır.Gets the collection of included and imported schemas.

IsCompiled

Şemanın derlenmiş olup olmadığını gösterir.Indicates if the schema has been compiled.

Items

Şemadaki şema öğelerinin koleksiyonunu alır ve öğe düzeyinde yeni öğe türleri eklemek için kullanılır schema .Gets the collection of schema elements in the schema and is used to add new element types at the schema element level.

LineNumber

Öğenin başvurduğu dosyadaki satır numarasını alır veya ayarlar schema .Gets or sets the line number in the file to which the schema element refers.

(Devralındığı yer: XmlSchemaObject)
LinePosition

Öğenin başvurduğu dosyanın satır konumunu alır veya ayarlar schema .Gets or sets the line position in the file to which the schema element refers.

(Devralındığı yer: XmlSchemaObject)
Namespaces

XmlSerializerNamespacesBu şema nesnesiyle birlikte kullanılacak öğesini alır veya ayarlar.Gets or sets the XmlSerializerNamespaces to use with this schema object.

(Devralındığı yer: XmlSchemaObject)
Notations

Şemadaki tüm gösterimler için şema sonrası-derleme değerini alır.Gets the post-schema-compilation value for all notations in the schema.

Parent

Bunun üst öğesini alır veya ayarlar XmlSchemaObject .Gets or sets the parent of this XmlSchemaObject.

(Devralındığı yer: XmlSchemaObject)
SchemaTypes

Şemadaki tüm şema türlerinin şema sonrası-derleme değerini alır.Gets the post-schema-compilation value of all schema types in the schema.

SourceUri

Şemayı yükleyen dosyanın kaynak konumunu alır veya ayarlar.Gets or sets the source location for the file that loaded the schema.

(Devralındığı yer: XmlSchemaObject)
TargetNamespace

Şema hedefi ad alanının Tekdüzen Kaynak tanımlayıcısını (URI) alır veya ayarlar.Gets or sets the Uniform Resource Identifier (URI) of the schema target namespace.

UnhandledAttributes

Şema hedefi ad alanına ait olmayan nitelenme özniteliklerini alır veya ayarlar.Gets or sets the qualified attributes which do not belong to the schema target namespace.

Version

Şemanın sürümünü alır veya ayarlar.Gets or sets the version of the schema.

Yöntemler

Compile(ValidationEventHandler)
Kullanımdan kalktı.
Kullanımdan kalktı.

XML şeması nesne modelini (SOM) doğrulama için şema bilgilerine derler.Compiles the XML Schema Object Model (SOM) into schema information for validation. Programlı olarak oluşturulan SOM 'un sözdizimsel ve anlam yapısını denetlemek için kullanılır.Used to check the syntactic and semantic structure of the programmatically built SOM. Anlamsal doğrulama denetimi derleme sırasında gerçekleştirilir.Semantic validation checking is performed during compilation.

Compile(ValidationEventHandler, XmlResolver)
Kullanımdan kalktı.
Kullanımdan kalktı.

XML şeması nesne modelini (SOM) doğrulama için şema bilgilerine derler.Compiles the XML Schema Object Model (SOM) into schema information for validation. Programlı olarak oluşturulan SOM 'un sözdizimsel ve anlam yapısını denetlemek için kullanılır.Used to check the syntactic and semantic structure of the programmatically built SOM. Anlamsal doğrulama denetimi derleme sırasında gerçekleştirilir.Semantic validation checking is performed during compilation.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.Determines whether the specified object is equal to the current object.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi olarak işlev görür.Serves as the default hash function.

(Devralındığı yer: Object)
GetType()

TypeGeçerli örneği alır.Gets the Type of the current instance.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli bir basit kopyasını oluşturur Object .Creates a shallow copy of the current Object.

(Devralındığı yer: Object)
Read(Stream, ValidationEventHandler)

Sağlanan akıştan bir XML şeması okur.Reads an XML Schema from the supplied stream.

Read(TextReader, ValidationEventHandler)

Sağlanan bir XML şemasını okur TextReader .Reads an XML Schema from the supplied TextReader.

Read(XmlReader, ValidationEventHandler)

Sağlanan bir XML şemasını okur XmlReader .Reads an XML Schema from the supplied XmlReader.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.Returns a string that represents the current object.

(Devralındığı yer: Object)
Write(Stream)

XML şemasını sağlanan veri akışına yazar.Writes the XML Schema to the supplied data stream.

Write(Stream, XmlNamespaceManager)

Belirtilen kullanılarak XML şemasını sağlanan öğesine yazar Stream XmlNamespaceManager .Writes the XML Schema to the supplied Stream using the XmlNamespaceManager specified.

Write(TextWriter)

XML şemasını sağlanan öğesine yazar TextWriter .Writes the XML Schema to the supplied TextWriter.

Write(TextWriter, XmlNamespaceManager)

XML şemasını sağlanan öğesine yazar TextWriter .Writes the XML Schema to the supplied TextWriter.

Write(XmlWriter)

XML şemasını sağlanan öğesine yazar XmlWriter .Writes the XML Schema to the supplied XmlWriter.

Write(XmlWriter, XmlNamespaceManager)

XML şemasını sağlanan öğesine yazar XmlWriter .Writes the XML Schema to the supplied XmlWriter.

Şunlara uygulanır

Ayrıca bkz.