XmlSchemaComplexType Clase

Definición

Representa el elemento complexType del esquema XML como especificado por el Consorcio WWC (W3C).Represents the complexType element from XML Schema as specified by the World Wide Web Consortium (W3C). Esta clase define un tipo complejo que determina el conjunto de atributos y el contenido de un elemento.This class defines a complex type that determines the set of attributes and content of an element.

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 complexType crea un elemento.The following example creates a 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

El siguiente archivo XML se usa para el ejemplo de código anterior.The following XML file is used for the preceding code example.

<?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 puede declararse con un atributo de tipo que hace complexType referencia a un elemento que define la estructura, el contenido y los atributos de dicho elemento.An element can be declared with a type attribute that refers to a complexType element that defines the structure, content, and attributes of that element.

Constructores

XmlSchemaComplexType()

Inicializa una nueva instancia de la clase XmlSchemaComplexType.Initializes a new instance of the XmlSchemaComplexType class.

Propiedades

Annotation

Obtiene o establece la propiedad annotation.Gets or sets the annotation property.

(Heredado de XmlSchemaAnnotated)
AnyAttribute

Obtiene o establece el valor del componente XmlSchemaAnyAttribute del tipo complejo.Gets or sets the value for the XmlSchemaAnyAttribute component of the complex type.

Attributes

Obtiene la colección de atributos del tipo complejo.Gets the collection of attributes for the complex type.

AttributeUses

Obtiene la colección de todos los atributos compilados de este tipo complejo y sus tipos base.Gets the collection of all the complied attributes of this complex type and its base types.

AttributeWildcard

Obtiene el valor posterior a la compilación para anyAttribute para este tipo complejo y sus tipos base.Gets the post-compilation value for anyAttribute for this complex type and its base type(s).

BaseSchemaType

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.Gets the post-compilation object type or the built-in XML Schema Definition Language (XSD) data type, simpleType element, or complexType element. Se trata de una propiedad del conjunto de información posterior a la compilación del esquema.This is a post-schema-compilation infoset property.

(Heredado de XmlSchemaType)
BaseXmlSchemaType

Obtiene el valor posterior a la compilación para el tipo base de este tipo de esquema.Gets the post-compilation value for the base type of this schema type.

(Heredado de XmlSchemaType)
Block

Obtiene o establece el atributo block.Gets or sets the block attribute.

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).Gets the value after the type has been compiled to the post-schema-validation information set (infoset). Este valor indica la forma en que se aplica el tipo cuando xsi:type se utiliza en el documento de instancia.This value indicates how the type is enforced when xsi:type is used in the instance document.

ContentModel

Obtiene o establece el XmlSchemaContentModel posterior a la compilación de este tipo complejo.Gets or sets the post-compilation XmlSchemaContentModel of this complex type.

ContentType

Obtiene el modelo de contenido del tipo complejo que contiene el valor posterior a la compilación.Gets the content model of the complex type which holds the post-compilation value.

ContentTypeParticle

Obtiene la partícula que contiene el valor posterior a la compilación de la partícula ContentType.Gets the particle that holds the post-compilation value of the ContentType particle.

Datatype

Obtiene el valor posterior a la compilación para el tipo de datos del tipo complejo.Gets the post-compilation value for the data type of the complex type.

(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.Gets the post-compilation information on how this element was derived from its base type.

(Heredado de XmlSchemaType)
Final

Obtiene o establece el atributo final de la derivación de tipo que indica si se permiten más derivaciones.Gets or sets the final attribute of the type derivation that indicates if further derivations are allowed.

(Heredado de XmlSchemaType)
FinalResolved

Obtiene el valor posterior a la compilación de la propiedad Final.Gets the post-compilation value of the Final property.

(Heredado de XmlSchemaType)
Id

Obtiene o establece el identificador de cadena.Gets or sets the string id.

(Heredado de XmlSchemaAnnotated)
IsAbstract

Obtiene o establece la información que determina si el elemento complexType puede utilizarse en el documento de instancia.Gets or sets the information that determines if the complexType element can be used in the instance document.

IsMixed

Obtiene o establece la información que determina si el tipo complejo tiene un modelo de contenido mixto (marcado dentro del contenido).Gets or sets information that determines if the complex type has a mixed content model (markup within the content).

LineNumber

Obtiene o establece el número de línea del archivo al que hace referencia el elemento schema.Gets or sets the line number in the file to which the schema element refers.

(Heredado de XmlSchemaObject)
LinePosition

Obtiene o establece la posición de la línea en el archivo al que hace referencia el elemento schema.Gets or sets the line position in the file to which the schema element refers.

(Heredado de XmlSchemaObject)
Name

Obtiene o establece el nombre del tipo.Gets or sets the name of the type.

(Heredado de XmlSchemaType)
Namespaces

Obtiene o establece el objeto XmlSerializerNamespaces que se va a utilizar con este objeto de esquema.Gets or sets the XmlSerializerNamespaces to use with this schema object.

(Heredado de XmlSchemaObject)
Parent

Obtiene o establece el elemento primario de este XmlSchemaObject.Gets or sets the parent of this XmlSchemaObject.

(Heredado de XmlSchemaObject)
Particle

Obtiene o establece el tipo de compositor como una de estas clases: XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaAll o XmlSchemaSequence.Gets or sets the compositor type as one of the XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaAll, or XmlSchemaSequence classes.

QualifiedName

Obtiene el nombre calificado del tipo creado a partir del atributo Name de este tipo.Gets the qualified name for the type built from the Name attribute of this type. Se trata de una propiedad posterior a la compilación del esquema.This is a post-schema-compilation property.

(Heredado de XmlSchemaType)
SourceUri

Obtiene o establece la ubicación de origen del archivo que cargó el esquema.Gets or sets the source location for the file that loaded the schema.

(Heredado de XmlSchemaObject)
TypeCode

Obtiene el valor XmlTypeCode del tipo.Gets the XmlTypeCode of the type.

(Heredado de XmlSchemaType)
UnhandledAttributes

Obtiene o establece los atributos calificados que no pertenecen al espacio de nombres de destino del esquema actual.Gets or sets the qualified attributes that do not belong to the current schema's target namespace.

(Heredado de XmlSchemaAnnotated)

Métodos

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)

Se aplica a