Sdílet prostřednictvím


XmlSchemaComplexType Třída

Definice

complexType Představuje prvek ze schématu XML, jak je určeno konsorciem W3C (World Wide Web Consortium). Tato třída definuje komplexní typ, který určuje sadu atributů a obsah prvku.

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
Dědičnost

Příklady

Následující příklad vytvoří complexType prvek.

#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

Následující soubor XML se používá pro předchozí příklad kódu.

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

Poznámky

Prvek lze deklarovat pomocí atributu typu, který odkazuje na complexType prvek, který definuje strukturu, obsah a atributy tohoto prvku.

Konstruktory

XmlSchemaComplexType()

Inicializuje novou instanci XmlSchemaComplexType třídy.

Vlastnosti

Annotation

Získá nebo nastaví annotation vlastnost.

(Zděděno od XmlSchemaAnnotated)
AnyAttribute

Získá nebo nastaví hodnotu pro XmlSchemaAnyAttribute komponentu komplexního typu.

Attributes

Získá kolekci atributů pro komplexní typ.

AttributeUses

Získá kolekci všech vyhovujících atributů tohoto komplexního typu a jeho základních typů.

AttributeWildcard

Získá hodnotu po kompilaci pro anyAttribute tento komplexní typ a jeho základní typy.

BaseSchemaType
Zastaralé.
Zastaralé.
Zastaralé.

Získá typ objektu post-kompilace nebo integrovaný datový typ XML Schema Definition Language (XSD), simpleType element nebo complexType element. Jedná se o vlastnost infoset po kompilaci schématu.

(Zděděno od XmlSchemaType)
BaseXmlSchemaType

Získá hodnotu po kompilaci pro základní typ tohoto typu schématu.

(Zděděno od XmlSchemaType)
Block

Získá nebo nastaví block atribut.

BlockResolved

Získá hodnotu po zkompilování typu do sady informací po ověření schématu (infoset). Tato hodnota označuje, jak se typ vynucuje při xsi:type použití v dokumentu instance.

ContentModel

Získá nebo nastaví post-kompilaci XmlSchemaContentModel tohoto komplexního typu.

ContentType

Získá model obsahu komplexního typu, který obsahuje hodnotu po kompilaci.

ContentTypeParticle

Získá částice, která uchovává hodnotu ContentType po kompilaci částice.

Datatype

Získá hodnotu po kompilaci pro datový typ komplexního typu.

(Zděděno od XmlSchemaType)
DerivedBy

Získá pokompilační informace o tom, jak byl tento prvek odvozen z jeho základního typu.

(Zděděno od XmlSchemaType)
Final

Získá nebo nastaví konečný atribut odvození typu, který označuje, zda jsou další odvození povoleny.

(Zděděno od XmlSchemaType)
FinalResolved

Získá hodnotu Final po kompilaci vlastnosti.

(Zděděno od XmlSchemaType)
Id

Získá nebo nastaví ID řetězce.

(Zděděno od XmlSchemaAnnotated)
IsAbstract

Získá nebo nastaví informace, které určuje, zda complexType lze prvek použít v dokumentu instance.

IsMixed

Získá nebo nastaví informace, které určují, zda komplexní typ má smíšený model obsahu (revize v rámci obsahu).

LineNumber

Získá nebo nastaví číslo řádku v souboru, na který schema prvek odkazuje.

(Zděděno od XmlSchemaObject)
LinePosition

Získá nebo nastaví pozici čáry v souboru, na který schema prvek odkazuje.

(Zděděno od XmlSchemaObject)
Name

Získá nebo nastaví název typu.

(Zděděno od XmlSchemaType)
Namespaces

Získá nebo nastaví XmlSerializerNamespaces použití s tímto objektem schématu.

(Zděděno od XmlSchemaObject)
Parent

Získá nebo nastaví nadřazený objekt tohoto XmlSchemaObject.

(Zděděno od XmlSchemaObject)
Particle

Získá nebo nastaví kompositor typ jako jeden z XmlSchemaGroupRef, XmlSchemaChoice, nebo XmlSchemaAllXmlSchemaSequence třídy.

QualifiedName

Získá kvalifikovaný název pro typ sestavený z atributu Name tohoto typu. Jedná se o vlastnost po kompilaci schématu.

(Zděděno od XmlSchemaType)
SourceUri

Získá nebo nastaví zdrojové umístění pro soubor, který načetl schéma.

(Zděděno od XmlSchemaObject)
TypeCode

XmlTypeCode Získá typ.

(Zděděno od XmlSchemaType)
UnhandledAttributes

Získá nebo nastaví kvalifikované atributy, které nepatří do cílového oboru názvů aktuálního schématu.

(Zděděno od XmlSchemaAnnotated)

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro