XmlSchemaSequence Klasse

Definition

Stellt das sequence Element (Kompositor) aus dem XML-Schema dar, wie vom World Wide Web Consortium (W3C) angegeben. Dies sequence erfordert, dass die Elemente in der Gruppe in der angegebenen Sequenz innerhalb des enthaltenden Elements angezeigt 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

Das folgende Beispiel zeigt die XmlSchemaSequence Klasse.

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 vorangehende 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

Name Beschreibung
XmlSchemaSequence()

Initialisiert eine neue Instanz der XmlSchemaSequence-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)
Items

Die Im Kompositor enthaltenen Elemente. Sammlung von XmlSchemaElement, , XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaSequenceoder XmlSchemaAny.

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)
MaxOccurs

Ruft ab oder legt fest, wie oft das Partikel auftreten kann.

(Geerbt von XmlSchemaParticle)
MaxOccursString

Dient zum Abrufen oder Festlegen der Zahl als Zeichenfolgenwert. Maximale Anzahl der Vorkommen des Partikels.

(Geerbt von XmlSchemaParticle)
MinOccurs

Ruft ab oder legt fest, wie oft das Partikel auftreten kann.

(Geerbt von XmlSchemaParticle)
MinOccursString

Dient zum Abrufen oder Festlegen der Zahl als Zeichenfolgenwert. Die mindeste Anzahl der Vorkommen des Partikels.

(Geerbt von XmlSchemaParticle)
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)

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: