XmlSchemaComplexType Klasa

Definicja

complexType Reprezentuje element ze schematu XML określony przez World Wide Web Consortium (W3C). Ta klasa definiuje typ złożony, który określa zestaw atrybutów i zawartości elementu.

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
Dziedziczenie

Przykłady

Poniższy przykład tworzy complexType element.

#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

Poniższy plik XML jest używany w poprzednim przykładzie kodu.

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

Uwagi

Element można zadeklarować za pomocą atrybutu typu, który odwołuje się do complexType elementu definiującego strukturę, zawartość i atrybuty tego elementu.

Konstruktory

XmlSchemaComplexType()

Inicjuje nowe wystąpienie klasy XmlSchemaComplexType.

Właściwości

Annotation

Pobiera lub ustawia annotation właściwość.

(Odziedziczone po XmlSchemaAnnotated)
AnyAttribute

Pobiera lub ustawia wartość XmlSchemaAnyAttribute składnika typu złożonego.

Attributes

Pobiera kolekcję atrybutów dla typu złożonego.

AttributeUses

Pobiera kolekcję wszystkich zgodnych atrybutów tego typu złożonego i jego typów bazowych.

AttributeWildcard

Pobiera wartość po kompilacji dla anyAttribute tego typu złożonego i jego typów podstawowych.

BaseSchemaType
Przestarzałe.
Przestarzałe.
Przestarzałe.

Pobiera typ obiektu po kompilacji lub wbudowany typ danych języka definicji schematu XML (XSD), element simpleType lub element complexType. Jest to właściwość infoset kompilacji po schemacie.

(Odziedziczone po XmlSchemaType)
BaseXmlSchemaType

Pobiera wartość po kompilacji dla podstawowego typu tego typu schematu.

(Odziedziczone po XmlSchemaType)
Block

Pobiera lub ustawia block atrybut.

BlockResolved

Pobiera wartość po skompilowaniu typu do zestawu informacji po weryfikacji schematu (infoset). Ta wartość wskazuje, jak typ jest wymuszany, gdy xsi:type jest używany w dokumencie wystąpienia.

ContentModel

Pobiera lub ustawia po kompilacji XmlSchemaContentModel tego typu złożonego.

ContentType

Pobiera model zawartości typu złożonego, który zawiera wartość po kompilacji.

ContentTypeParticle

Pobiera cząstkę, która posiada wartość ContentType po kompilacji cząstki.

Datatype

Pobiera wartość po kompilacji dla typu danych typu złożonego.

(Odziedziczone po XmlSchemaType)
DerivedBy

Pobiera informacje po kompilacji dotyczące sposobu, w jaki ten element został uzyskany z jego typu podstawowego.

(Odziedziczone po XmlSchemaType)
Final

Pobiera lub ustawia ostateczny atrybut wyprowadzania typu, który wskazuje, czy dozwolone są dalsze wyprowadzenia.

(Odziedziczone po XmlSchemaType)
FinalResolved

Pobiera wartość Final po kompilacji właściwości.

(Odziedziczone po XmlSchemaType)
Id

Pobiera lub ustawia identyfikator ciągu.

(Odziedziczone po XmlSchemaAnnotated)
IsAbstract

Pobiera lub ustawia informacje, które określają, czy complexType element może być używany w dokumencie wystąpienia.

IsMixed

Pobiera lub ustawia informacje określające, czy typ złożony ma model zawartości mieszanej (znaczniki w zawartości).

LineNumber

Pobiera lub ustawia numer wiersza w pliku, do którego schema odwołuje się element.

(Odziedziczone po XmlSchemaObject)
LinePosition

Pobiera lub ustawia położenie wiersza w pliku, do którego schema odwołuje się element.

(Odziedziczone po XmlSchemaObject)
Name

Pobiera lub ustawia nazwę typu.

(Odziedziczone po XmlSchemaType)
Namespaces

Pobiera lub ustawia XmlSerializerNamespaces wartość do użycia z tym obiektem schematu.

(Odziedziczone po XmlSchemaObject)
Parent

Pobiera lub ustawia element nadrzędny tego XmlSchemaObjectelementu .

(Odziedziczone po XmlSchemaObject)
Particle

Pobiera lub ustawia typ kompositora jako jedną z XmlSchemaGroupRefklas , XmlSchemaChoice, XmlSchemaAlllub XmlSchemaSequence .

QualifiedName

Pobiera kwalifikowaną nazwę typu utworzonego Name z atrybutu tego typu. Jest to właściwość po kompilacji schematu.

(Odziedziczone po XmlSchemaType)
SourceUri

Pobiera lub ustawia lokalizację źródłową pliku, który załadował schemat.

(Odziedziczone po XmlSchemaObject)
TypeCode

XmlTypeCode Pobiera typ .

(Odziedziczone po XmlSchemaType)
UnhandledAttributes

Pobiera lub ustawia kwalifikowane atrybuty, które nie należą do docelowej przestrzeni nazw bieżącego schematu.

(Odziedziczone po XmlSchemaAnnotated)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy