Freigeben über


XmlSchemaComplexType Klasse

Definition

Stellt das complexType-Element von XML-Schema wie vom World Wide Web Consortium (W3C) angegeben dar. Diese Klasse definiert einen komplexen Typ, der die Gruppe der Attribute und den Inhalt eines Elements bestimmt.

public ref class XmlSchemaComplexType : System::Xml::Schema::XmlSchemaType
public class XmlSchemaComplexType : System.Xml.Schema.XmlSchemaType
type XmlSchemaComplexType = class
    inherit XmlSchemaType
Public Class XmlSchemaComplexType
Inherits XmlSchemaType
Vererbung

Beispiele

Im folgenden Beispiel wird ein complexType Element erstellt.

#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="stringElementWithAnyAttribute">
        XmlSchemaElement^ element = gcnew XmlSchemaElement();
        schema->Items->Add(element);
        element->Name = "stringElementWithAnyAttribute";

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

        // <xs:simpleContent>
        XmlSchemaSimpleContent^ simpleContent = gcnew XmlSchemaSimpleContent();
        complexType->ContentModel = simpleContent;

        // <extension base= "xs:string">
        XmlSchemaSimpleContentExtension^ extension = gcnew XmlSchemaSimpleContentExtension();
        simpleContent->Content = extension;
        extension->BaseTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:anyAttribute namespace="##targetNamespace"/>
        XmlSchemaAnyAttribute^ anyAttribute = gcnew XmlSchemaAnyAttribute();
        extension->AnyAttribute = anyAttribute;
        anyAttribute->Namespace = "##targetNamespace";

        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="stringElementWithAnyAttribute">
        XmlSchemaElement element = new XmlSchemaElement();
        schema.Items.Add(element);
        element.Name = "stringElementWithAnyAttribute";

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

        // <xs:simpleContent>
        XmlSchemaSimpleContent simpleContent = new XmlSchemaSimpleContent();
        complexType.ContentModel = simpleContent;

        // <extension base= "xs:string">
        XmlSchemaSimpleContentExtension extension = new XmlSchemaSimpleContentExtension();
        simpleContent.Content = extension;
        extension.BaseTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:anyAttribute namespace="##targetNamespace"/>
        XmlSchemaAnyAttribute anyAttribute = new XmlSchemaAnyAttribute();
        extension.AnyAttribute = anyAttribute;
        anyAttribute.Namespace = "##targetNamespace";

        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:element name="stringElementWithAnyAttribute">
        Dim element As New XmlSchemaElement()
        schema.Items.Add(element)
        element.Name = "stringElementWithAnyAttribute"

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

        ' <xs:simpleContent>
        Dim simpleContent As New XmlSchemaSimpleContent()
        complexType.ContentModel = simpleContent

        ' <extension base="xs:string">
        Dim extension As New XmlSchemaSimpleContentExtension()
        simpleContent.Content = extension
        extension.BaseTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")

        ' <xs:anyAttribute namespace="##targetNamespace"/>
        Dim anyAttribute As New XmlSchemaAnyAttribute()
        extension.AnyAttribute = anyAttribute
        anyAttribute.Namespace = "##targetNamespace"

        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="stringElementWithAnyAttribute">
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:anyAttribute namespace="##targetNamespace"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>
</xs:schema>

Hinweise

Ein Element kann mit einem Typattribute deklariert werden, das auf ein complexType Element verweist, das die Struktur, den Inhalt und die Attribute dieses Elements definiert.

Konstruktoren

XmlSchemaComplexType()

Initialisiert eine neue Instanz der XmlSchemaComplexType-Klasse.

Eigenschaften

Annotation

Ruft die annotation-Eigenschaft ab oder legt diese fest.

(Geerbt von XmlSchemaAnnotated)
AnyAttribute

Ruft den Wert für die XmlSchemaAnyAttribute-Komponente des komplexen Typs ab oder legt diesen fest.

Attributes

Ruft die Auflistung von Attributen für den komplexen Typ ab.

AttributeUses

Ruft die Auflistung aller kompilierten Attribute dieses komplexen Typs und von dessen Basistypen ab.

AttributeWildcard

Ruft den Wert nach der Kompilierung von anyAttribute für diesen komplexen Typ und dessen Basistypen ab.

BaseSchemaType
Veraltet.
Veraltet.
Veraltet.

Ruft den Objekttyp nach der Kompilierung oder den integrierten XSD (XML Schema Definition)-Datentyp, das simpleType-Element oder das complexType-Element ab. Dies ist eine PSCI-Eigenschaft (Post-Schema-Compilation Infoset).

(Geerbt von XmlSchemaType)
BaseXmlSchemaType

Ruft den Wert nach der Kompilierung für den Basistyp dieses Schematyps ab.

(Geerbt von XmlSchemaType)
Block

Ruft das block-Attribut ab oder legt dieses fest.

BlockResolved

Ruft den Wert ab, nachdem der Typ in den Informationensatz (infoset) für die Post-Schema-Validierung kompiliert wurde. Dieser Wert gibt an, wie ein Typ erzwungen wird, wenn xsi:type im Instanzdokument verwendet wird.

ContentModel

Ruft das XmlSchemaContentModel nach der Kompilierung dieses komplexen Typs ab oder legt dieses fest.

ContentType

Ruft das Inhaltsmodell des komplexen Typs ab, der den Wert nach der Kompilierung enthält.

ContentTypeParticle

Ruft das Partikel ab, das den Wert des ContentType-Partikels nach der Kompilierung enthält.

Datatype

Ruft den Wert nach der Kompilierung für den Datentyp des komplexen Typs ab.

(Geerbt von XmlSchemaType)
DerivedBy

Ruft die Informationen nach der Kompilierung darüber ab, wie dieses Element von seinem Basistyp abgeleitet wurde.

(Geerbt von XmlSchemaType)
Final

Ruft das abschließende Attribut der Typableitung ab, das angibt, ob weitere Ableitungen zulässig sind, oder legt dieses fest.

(Geerbt von XmlSchemaType)
FinalResolved

Ruft den Wert der Final-Eigenschaft nach der Kompilierung ab.

(Geerbt von XmlSchemaType)
Id

Ruft die Zeichenfolgen-ID ab oder legt diese fest.

(Geerbt von XmlSchemaAnnotated)
IsAbstract

Ruft Informationen ab, die bestimmen, ob das complexType-Element im Instanzdokument verwendet werden kann, oder legt diese fest.

IsMixed

Ruft Informationen ab, die bestimmen, ob der komplexe Typ über ein Modell für gemischten Inhalt (Markup im Inhalt) verfügt, oder legt diese fest.

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

Ruft den Namen des Typs ab oder legt ihn fest.

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

Ruft den Compositortyp als eine der Klassen XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaAll oder XmlSchemaSequence ab oder legt diesen fest.

QualifiedName

Ruft den gekennzeichneten Namen für den Typ ab, der aus dem Name-Attribut dieses Typs erstellt wurde. Dies ist eine Eigenschaft nach der Kompilierung des Schemas.

(Geerbt von XmlSchemaType)
SourceUri

Ruft die Quellposition für die Datei ab, die das Schema geladen hat, oder legt diese fest.

(Geerbt von XmlSchemaObject)
TypeCode

Ruft den XmlTypeCode des Typs ab.

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