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