Freigeben über


XmlSchemaSequence Klasse

Definition

Stellt das sequence-Element (Compositor) aus dem XML-Schema laut Spezifikation des World Wide Web Consortium (W3C) dar. Die sequence erfordert, dass die Elemente in der Gruppe im enthaltenden Element in der angegebenen Reihenfolge aufgeführt werden.

public ref class XmlSchemaSequence : System::Xml::Schema::XmlSchemaGroupBase
public class XmlSchemaSequence : System.Xml.Schema.XmlSchemaGroupBase
type XmlSchemaSequence = class
    inherit XmlSchemaGroupBase
Public Class XmlSchemaSequence
Inherits XmlSchemaGroupBase
Vererbung

Beispiele

Im folgenden Beispiel wird die XmlSchemaSequence-Klasse gezeigt.

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

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

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

        // <xs:attribute name="myAttribute" type="xs:decimal"/>
        XmlSchemaAttribute^ myAttribute = gcnew XmlSchemaAttribute();
        schema->Items->Add(myAttribute);
        myAttribute->Name = "myAttribute";
        myAttribute->SchemaTypeName = gcnew XmlQualifiedName("decimal", "http://www.w3.org/2001/XMLSchema");

        // <xs:group name="myGroupOfThings">
        XmlSchemaGroup^ myGroupOfThings = gcnew XmlSchemaGroup();
        schema->Items->Add(myGroupOfThings);
        myGroupOfThings->Name = "myGroupOfThings";

        // <xs:sequence>
        XmlSchemaSequence^ sequence = gcnew XmlSchemaSequence();
        myGroupOfThings->Particle = sequence;

        // <xs:element ref="thing1"/>
        XmlSchemaElement^ elementThing1Ref = gcnew XmlSchemaElement();
        sequence->Items->Add(elementThing1Ref);
        elementThing1Ref->RefName = gcnew XmlQualifiedName("thing1");

        // <xs:element ref="thing2"/>
        XmlSchemaElement^ elementThing2Ref = gcnew XmlSchemaElement();
        sequence->Items->Add(elementThing2Ref);
        elementThing2Ref->RefName = gcnew XmlQualifiedName("thing2");

        // <xs:element ref="thing3"/>
        XmlSchemaElement^ elementThing3Ref = gcnew XmlSchemaElement();
        sequence->Items->Add(elementThing3Ref);
        elementThing3Ref->RefName = gcnew XmlQualifiedName("thing3");

        // <xs:complexType name="myComplexType">
        XmlSchemaComplexType^ myComplexType = gcnew XmlSchemaComplexType();
        schema->Items->Add(myComplexType);
        myComplexType->Name = "myComplexType";

        // <xs:group ref="myGroupOfThings"/>
        XmlSchemaGroupRef^ myGroupOfThingsRef = gcnew XmlSchemaGroupRef();
        myComplexType->Particle = myGroupOfThingsRef;
        myGroupOfThingsRef->RefName = gcnew XmlQualifiedName("myGroupOfThings");

        // <xs:attribute ref="myAttribute"/>
        XmlSchemaAttribute^ myAttributeRef = gcnew XmlSchemaAttribute();
        myComplexType->Attributes->Add(myAttributeRef);
        myAttributeRef->RefName = gcnew XmlQualifiedName("myAttribute");

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

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

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

        // <xs:attribute name="myAttribute" type="xs:decimal"/>
        XmlSchemaAttribute myAttribute = new XmlSchemaAttribute();
        schema.Items.Add(myAttribute);
        myAttribute.Name = "myAttribute";
        myAttribute.SchemaTypeName = new XmlQualifiedName("decimal", "http://www.w3.org/2001/XMLSchema");

        // <xs:group name="myGroupOfThings">
        XmlSchemaGroup myGroupOfThings = new XmlSchemaGroup();
        schema.Items.Add(myGroupOfThings);
        myGroupOfThings.Name = "myGroupOfThings";

        // <xs:sequence>
        XmlSchemaSequence sequence = new XmlSchemaSequence();
        myGroupOfThings.Particle = sequence;

        // <xs:element ref="thing1"/>
        XmlSchemaElement elementThing1Ref = new XmlSchemaElement();
        sequence.Items.Add(elementThing1Ref);
        elementThing1Ref.RefName = new XmlQualifiedName("thing1");

        // <xs:element ref="thing2"/>
        XmlSchemaElement elementThing2Ref = new XmlSchemaElement();
        sequence.Items.Add(elementThing2Ref);
        elementThing2Ref.RefName = new XmlQualifiedName("thing2");

        // <xs:element ref="thing3"/>
        XmlSchemaElement elementThing3Ref = new XmlSchemaElement();
        sequence.Items.Add(elementThing3Ref);
        elementThing3Ref.RefName = new XmlQualifiedName("thing3");

        // <xs:complexType name="myComplexType">
        XmlSchemaComplexType myComplexType = new XmlSchemaComplexType();
        schema.Items.Add(myComplexType);
        myComplexType.Name = "myComplexType";

        // <xs:group ref="myGroupOfThings"/>
        XmlSchemaGroupRef myGroupOfThingsRef = new XmlSchemaGroupRef();
        myComplexType.Particle = myGroupOfThingsRef;
        myGroupOfThingsRef.RefName = new XmlQualifiedName("myGroupOfThings");

        // <xs:attribute ref="myAttribute"/>
        XmlSchemaAttribute myAttributeRef = new XmlSchemaAttribute();
        myComplexType.Attributes.Add(myAttributeRef);
        myAttributeRef.RefName = new XmlQualifiedName("myAttribute");

        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="thing1" type="xs:string"/>
        Dim elementThing1 As New XmlSchemaElement()
        schema.Items.Add(elementThing1)
        elementThing1.Name = "thing1"
        elementThing1.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")

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

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

        ' <xs:attribute name="myAttribute" type="xs:decimal"/>
        Dim myAttribute As New XmlSchemaAttribute()
        schema.Items.Add(myAttribute)
        myAttribute.Name = "myAttribute"
        myAttribute.SchemaTypeName = New XmlQualifiedName("decimal", "http://www.w3.org/2001/XMLSchema")

        ' <xs:group name="myGroupOfThings">
        Dim myGroupOfThings As New XmlSchemaGroup()
        schema.Items.Add(myGroupOfThings)
        myGroupOfThings.Name = "myGroupOfThings"

        ' <xs:sequence>
        Dim sequence As New XmlSchemaSequence()
        myGroupOfThings.Particle = sequence

        ' <xs:element ref="thing1"/>
        Dim elementThing1Ref As New XmlSchemaElement()
        sequence.Items.Add(elementThing1Ref)
        elementThing1Ref.RefName = New XmlQualifiedName("thing1")

        ' <xs:element ref="thing2"/>
        Dim elementThing2Ref As New XmlSchemaElement()
        sequence.Items.Add(elementThing2Ref)
        elementThing2Ref.RefName = New XmlQualifiedName("thing2")

        ' <xs:element ref="thing3"/>
        Dim elementThing3Ref As New XmlSchemaElement()
        sequence.Items.Add(elementThing3Ref)
        elementThing3Ref.RefName = New XmlQualifiedName("thing3")

        ' <xs:complexType name="myComplexType">
        Dim myComplexType As New XmlSchemaComplexType()
        schema.Items.Add(myComplexType)
        myComplexType.Name = "myComplexType"

        ' <xs:group ref="myGroupOfThings"/>
        Dim myGroupOfThingsRef As New XmlSchemaGroupRef()
        myComplexType.Particle = myGroupOfThingsRef
        myGroupOfThingsRef.RefName = New XmlQualifiedName("myGroupOfThings")

        ' <xs:attribute ref="myAttribute"/>
        Dim myAttributeRef As New XmlSchemaAttribute()
        myComplexType.Attributes.Add(myAttributeRef)
        myAttributeRef.RefName = New XmlQualifiedName("myAttribute")

        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 verwendet.


<?xml version="1.0" encoding="IBM437"?>
<xs:schema  xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="thing1" type="xs:string"/>
    <xs:element name="thing2" type="xs:string"/>
    <xs:element name="thing3" type="xs:string"/>

    <xs:attribute name="myAttribute" type="xs:decimal"/>

    <xs:group name="myGroupOfThings">
     <xs:sequence>
      <xs:element ref="thing1"/>
      <xs:element ref="thing2"/>
      <xs:element ref="thing3"/>
     </xs:sequence>
    </xs:group>

    <xs:complexType name="myComplexType">
        <xs:group ref="myGroupOfThings"/>
        <xs:attribute ref="myAttribute"/>
    </xs:complexType>
</xs:schema>

Konstruktoren

XmlSchemaSequence()

Initialisiert eine neue Instanz der XmlSchemaSequence-Klasse.

Eigenschaften

Annotation

Ruft die annotation-Eigenschaft ab oder legt diese fest.

(Geerbt von XmlSchemaAnnotated)
Id

Ruft die Zeichenfolgen-ID ab oder legt diese fest.

(Geerbt von XmlSchemaAnnotated)
Items

Die Elemente im Compositor. Auflistung von XmlSchemaElement, XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaSequence oder XmlSchemaAny.

LineNumber

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

(Geerbt von XmlSchemaObject)
LinePosition

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

(Geerbt von XmlSchemaObject)
MaxOccurs

Ruft die höchste Anzahl der Vorkommen für den Partikel ab oder legt diese fest.

(Geerbt von XmlSchemaParticle)
MaxOccursString

Ruft die Anzahl als Zeichenfolgenwert ab oder legt diese fest. Die höchste Anzahl der Vorkommen des Partikels.

(Geerbt von XmlSchemaParticle)
MinOccurs

Ruft die Mindestanzahl der Vorkommen für den Partikel ab oder legt diese fest.

(Geerbt von XmlSchemaParticle)
MinOccursString

Ruft die Anzahl als Zeichenfolgenwert ab oder legt diese fest. Die Mindestanzahl der Vorkommen des Partikels.

(Geerbt von XmlSchemaParticle)
Namespaces

Ruft die mit diesem Schemaobjekt zu verwendenden XmlSerializerNamespaces ab oder legt diese fest.

(Geerbt von XmlSchemaObject)
Parent

Ruft das übergeordnete Objekt dieses XmlSchemaObject ab oder legt dieses fest.

(Geerbt von XmlSchemaObject)
SourceUri

Ruft die Quellposition für die Datei ab, die das Schema geladen hat, oder legt diese 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)

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

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

(Geerbt von Object)

Gilt für