XmlSchemaComplexType Classe

Definição

Representa o complexType elemento do esquema XML, conforme especificado pelo W3C (World Wide Web Consortium). Essa classe define um tipo complexo que determina o conjunto de atributos e o conteúdo de um elemento.

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
Herança

Exemplos

O exemplo a seguir cria um complexType elemento.

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

O arquivo XML a seguir é usado para o exemplo de código anterior.

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

Comentários

Um elemento pode ser declarado com um atributo de tipo que se refere a um complexType elemento que define a estrutura, o conteúdo e os atributos desse elemento.

Construtores

Nome Description
XmlSchemaComplexType()

Inicializa uma nova instância da classe XmlSchemaComplexType.

Propriedades

Nome Description
Annotation

Obtém ou define a annotation propriedade.

(Herdado de XmlSchemaAnnotated)
AnyAttribute

Obtém ou define o valor do XmlSchemaAnyAttribute componente do tipo complexo.

Attributes

Obtém a coleção de atributos para o tipo complexo.

AttributeUses

Obtém a coleção de todos os atributos cumpridos desse tipo complexo e seus tipos base.

AttributeWildcard

Obtém o valor pós-compilação para anyAttribute esse tipo complexo e seus tipos base.

BaseSchemaType
Obsoleto.
Obsoleto.
Obsoleto.

Obtém o tipo de objeto pós-compilação ou o tipo de dados XSD (Linguagem de Definição de Esquema XML) interno, elemento simpleType ou elemento complexType. Esta é uma propriedade de infoset pós-compilação de esquema.

(Herdado de XmlSchemaType)
BaseXmlSchemaType

Obtém o valor pós-compilação para o tipo base desse tipo de esquema.

(Herdado de XmlSchemaType)
Block

Obtém ou define o block atributo.

BlockResolved

Obtém o valor após o tipo ter sido compilado para o conjunto de informações pós-validação de esquema (infoset). Esse valor indica como o tipo é imposto quando xsi:type é usado no documento de instância.

ContentModel

Obtém ou define a pós-compilação XmlSchemaContentModel desse tipo complexo.

ContentType

Obtém o modelo de conteúdo do tipo complexo que contém o valor pós-compilação.

ContentTypeParticle

Obtém a partícula que contém o valor pós-compilação da ContentType partícula.

Datatype

Obtém o valor pós-compilação para o tipo de dados do tipo complexo.

(Herdado de XmlSchemaType)
DerivedBy

Obtém as informações pós-compilação sobre como esse elemento foi derivado de seu tipo base.

(Herdado de XmlSchemaType)
Final

Obtém ou define o atributo final da derivação de tipo que indica se derivações adicionais são permitidas.

(Herdado de XmlSchemaType)
FinalResolved

Obtém o valor pós-compilação da Final propriedade.

(Herdado de XmlSchemaType)
Id

Obtém ou define a ID da cadeia de caracteres.

(Herdado de XmlSchemaAnnotated)
IsAbstract

Obtém ou define as informações que determinam se o complexType elemento pode ser usado no documento da instância.

IsMixed

Obtém ou define informações que determinam se o tipo complexo tem um modelo de conteúdo misto (marcação dentro do conteúdo).

LineNumber

Obtém ou define o número de linha no arquivo ao qual o schema elemento se refere.

(Herdado de XmlSchemaObject)
LinePosition

Obtém ou define a posição da linha no arquivo ao qual o schema elemento se refere.

(Herdado de XmlSchemaObject)
Name

Obtém ou define o nome do tipo.

(Herdado de XmlSchemaType)
Namespaces

Obtém ou define o XmlSerializerNamespaces que usar com esse objeto de esquema.

(Herdado de XmlSchemaObject)
Parent

Obtém ou define o pai deste XmlSchemaObject.

(Herdado de XmlSchemaObject)
Particle

Obtém ou define o tipo de compositor como uma das XmlSchemaGroupRefclasses , XmlSchemaChoiceXmlSchemaAllou XmlSchemaSequence .

QualifiedName

Obtém o nome qualificado para o tipo criado a Name partir do atributo desse tipo. Esta é uma propriedade pós-compilação de esquema.

(Herdado de XmlSchemaType)
SourceUri

Obtém ou define o local de origem do arquivo que carregou o esquema.

(Herdado de XmlSchemaObject)
TypeCode

Obtém o XmlTypeCode tipo.

(Herdado de XmlSchemaType)
UnhandledAttributes

Obtém ou define os atributos qualificados que não pertencem ao namespace de destino do esquema atual.

(Herdado de XmlSchemaAnnotated)

Métodos

Nome Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a