XmlSchemaComplexType Classe

Definição

Representa o complexType elemento do Esquema XML conforme especificado pelo World Wide Web Consortium (W3C). Esta 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 seguinte 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 seguinte ficheiro XML é 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>

Observações

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

Construtores

Name Description
XmlSchemaComplexType()

Inicializa uma nova instância da XmlSchemaComplexType classe.

Propriedades

Name Description
Annotation

Obtém ou definem a annotation propriedade.

(Herdado de XmlSchemaAnnotated)
AnyAttribute

Obtém ou define o valor para o 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 compilados deste tipo complexo e os seus tipos base.

AttributeWildcard

Obtém o valor pós-compilação para anyAttribute para este tipo complexo e o(s) seu(s) tipo(s) base.

BaseSchemaType
Obsoleto.
Obsoleto.

Obtém o tipo de objeto pós-compilação ou o tipo de dado XML Schema Definition Language (XSD) incorporado, 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 deste tipo de esquema.

(Herdado de XmlSchemaType)
Block

Obtém ou definem o block atributo.

BlockResolved

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

ContentModel

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

ContentType

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

ContentTypeParticle

Obtém a partícula que deté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 a informação pós-compilação sobre como este elemento foi derivado do seu tipo base.

(Herdado de XmlSchemaType)
Final

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

(Herdado de XmlSchemaType)
FinalResolved

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

(Herdado de XmlSchemaType)
Id

Obtém ou define o id da cadeia.

(Herdado de XmlSchemaAnnotated)
IsAbstract

Obtém ou define a informação que determina se o complexType elemento pode ser usado no documento de instância.

IsMixed

Obtém ou define informação que determina 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 da linha no ficheiro a que o schema elemento se refere.

(Herdado de XmlSchemaObject)
LinePosition

Obtém ou define a posição da linha no ficheiro a que o schema elemento se refere.

(Herdado de XmlSchemaObject)
Name

Recebe ou define o nome do tipo.

(Herdado de XmlSchemaType)
Namespaces

Obtém ou define o XmlSerializerNamespaces para usar com este 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, XmlSchemaChoice, XmlSchemaAll, ou XmlSchemaSequence .

QualifiedName

Obtém o nome qualificado para o tipo construído a partir do Name atributo deste tipo. Esta é uma propriedade pós-compilação de esquemas.

(Herdado de XmlSchemaType)
SourceUri

Obtém ou define a localização de origem do ficheiro que carregou o esquema.

(Herdado de XmlSchemaObject)
TypeCode

Fica do 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

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a