Compartir a través de


Compatibilidad con enlaces del elemento Sequence

Este tema es específico de una tecnología heredada. Ahora, los servicios Web XML y los clientes de servicios Web XML deben crearse con Windows Communication Foundation.

.NET Framework proporciona compatibilidad con enlaces para el elemento <sequence> .

Explicación

Al generar las clases del esquema, XML Schema Definition Tool (Xsd.exe) genera miembros de la clase (campos o propiedades) en el orden exacto en el que se muestran en el elemento <sequence><all> (o ). Pero al generar el esquema de una instancia de clase determinada, el orden de los miembros depende del orden en el que el motor de reflexión los devuelve al serializador. El orden no está definido y es variable. Para garantizar la clasificación de la secuencia en el esquema generado, establezca la propiedad Order de las clases de atributos siguientes, según corresponda: XmlElementAttribute, XmlAnyElementAttribute y XmlArrayAttribute. Al generar las clases del esquema usando la herramienta xsd.exe, puede utilizar el modificador de la línea de comandos /order para generar automáticamente la propiedad Order.

El elemento <sequence> proporciona una agrupación ordenada de elementos definidos mediante el elemento <element> de XSD u otros elementos XSD. Por contraste, el elemento Compatibilidad con enlaces del elemento All**< proporciona una agrupación no ordenada de un subconjunto de los elementos que el elemento >**sequence puede contener.

Al generar código fuente de un documento de esquema XML, la utilidad Xsd.exe crea campos públicos en el mismo orden que el contenido del elemento <sequence> o, en realidad, del elemento <all>.

Al generar un documento de esquema XML a partir de un conjunto de clases en un ensamblado, Xsd.exe convierte los campos públicos de una clase en los elementos correspondientes que aparecen bajo un elemento <sequence> en el mismo orden en el que aparecen los campos en la clase.

Se supone que los elementos dentro de un tipo complejo deberían aparecer ordenados, no desordenados.

Atributos posibles Compatibilidad de enlace

id

La utilidad Xsd.exe omite el atributo id, que está pensado para proporcionar un identificador único.

maxOccurs

En el caso del elemento <sequence>, Xsd.exe interpreta los valores del atributo maxOccurs que son iguales a 0 como 1, y los valores de maxOccurs mayores que 1 como unbounded.

Si usa Xsd.exe con esquemas que tienen varias secuencias (secuencias con el valor de maxOccurs mayor que 1), utilice la opción de la línea de comandos /order. Para obtener más información sobre la razón de esto, vea el atributo Compatibilidad con enlaces del atributo MaxOccurs.

minOccurs

Al generar código fuente a partir de un documento de esquema XML, Xsd.exe omitirá el atributo minOccurs si se aplicó el elemento <sequence>.

Al generar un documento de esquema XML a partir de clases, Xsd.exe no especifica ningún valor para minOccurs y vuelve al valor predeterminado 1.

Vea el atributo Compatibilidad con enlaces del atributo MinOccurs.

Elementos primarios posibles: <choice>, <complexType>, <extension>, <group>, <restriction>

Elementos secundarios posibles: <annotation>, <any>, <choice>, <element>, <group>

Vea también

Referencia

XmlSchemaSequence