XmlSchemaComplexType Clase

Definición

Representa el elemento complexType del esquema XML como especificado por el Consorcio WWC (W3C). Esta clase define un tipo complejo que determina el conjunto de atributos y el contenido de un 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
Herencia

Ejemplos

En el ejemplo siguiente se crea un complexType elemento .

#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

El siguiente archivo XML se usa para el ejemplo 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>

Comentarios

Un elemento se puede declarar con un atributo de tipo que hace referencia a un complexType elemento que define la estructura, el contenido y los atributos de ese elemento.

Constructores

XmlSchemaComplexType()

Inicializa una nueva instancia de la clase XmlSchemaComplexType.

Propiedades

Annotation

Obtiene o establece la propiedad annotation.

(Heredado de XmlSchemaAnnotated)
AnyAttribute

Obtiene o establece el valor del componente XmlSchemaAnyAttribute del tipo complejo.

Attributes

Obtiene la colección de atributos del tipo complejo.

AttributeUses

Obtiene la colección de todos los atributos compilados de este tipo complejo y sus tipos base.

AttributeWildcard

Obtiene el valor posterior a la compilación para anyAttribute para este tipo complejo y sus tipos base.

BaseSchemaType
Obsoleto.
Obsoleto.
Obsoleto.

Obtiene el tipo de objeto posterior a la compilación o el tipo de datos del lenguaje de definición de esquemas XML (XSD) integrado, el elemento simpleType o el elemento complexType. Se trata de una propiedad del conjunto de información posterior a la compilación del esquema.

(Heredado de XmlSchemaType)
BaseXmlSchemaType

Obtiene el valor posterior a la compilación para el tipo base de este tipo de esquema.

(Heredado de XmlSchemaType)
Block

Obtiene o establece el atributo block.

BlockResolved

Obtiene el valor una vez que el tipo se compila en el conjunto de información posterior a la validación del esquema (infoset). Este valor indica la forma en que se aplica el tipo cuando xsi:type se utiliza en el documento de instancia.

ContentModel

Obtiene o establece el XmlSchemaContentModel posterior a la compilación de este tipo complejo.

ContentType

Obtiene el modelo de contenido del tipo complejo que contiene el valor posterior a la compilación.

ContentTypeParticle

Obtiene la partícula que contiene el valor posterior a la compilación de la partícula ContentType.

Datatype

Obtiene el valor posterior a la compilación para el tipo de datos del tipo complejo.

(Heredado de XmlSchemaType)
DerivedBy

Obtiene la información posterior a la compilación sobre cómo se ha derivado este elemento de su tipo base.

(Heredado de XmlSchemaType)
Final

Obtiene o establece el atributo final de la derivación de tipo que indica si se permiten más derivaciones.

(Heredado de XmlSchemaType)
FinalResolved

Obtiene el valor posterior a la compilación de la propiedad Final.

(Heredado de XmlSchemaType)
Id

Obtiene o establece el identificador de cadena.

(Heredado de XmlSchemaAnnotated)
IsAbstract

Obtiene o establece la información que determina si el elemento complexType puede utilizarse en el documento de instancia.

IsMixed

Obtiene o establece la información que determina si el tipo complejo tiene un modelo de contenido mixto (marcado dentro del contenido).

LineNumber

Obtiene o establece el número de línea del archivo al que hace referencia el elemento schema.

(Heredado de XmlSchemaObject)
LinePosition

Obtiene o establece la posición de la línea en el archivo al que hace referencia el elemento schema.

(Heredado de XmlSchemaObject)
Name

Obtiene o establece el nombre del tipo.

(Heredado de XmlSchemaType)
Namespaces

Obtiene o establece el objeto XmlSerializerNamespaces que se va a utilizar con este objeto de esquema.

(Heredado de XmlSchemaObject)
Parent

Obtiene o establece el elemento primario de este XmlSchemaObject.

(Heredado de XmlSchemaObject)
Particle

Obtiene o establece el tipo de compositor como una de estas clases: XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaAll o XmlSchemaSequence.

QualifiedName

Obtiene el nombre calificado del tipo creado a partir del atributo Name de este tipo. Se trata de una propiedad posterior a la compilación del esquema.

(Heredado de XmlSchemaType)
SourceUri

Obtiene o establece la ubicación de origen del archivo que cargó el esquema.

(Heredado de XmlSchemaObject)
TypeCode

Obtiene el valor XmlTypeCode del tipo.

(Heredado de XmlSchemaType)
UnhandledAttributes

Obtiene o establece los atributos calificados que no pertenecen al espacio de nombres de destino del esquema actual.

(Heredado de XmlSchemaAnnotated)

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a