unbounded type significa que nonamespaceschemalocation minoccurs maxoccurs data xml xsd schema complextype

significa - Use<xs: all> en complexType del esquema XML?



xs element (2)

Tengo los siguientes XML complexType s definidos:

<xs:complexType name="loss"> <xs:all> <xs:element name="lossCause" type="xs:string"/> <xs:element name="lossDate" type="xs:dateTime"/> <xs:element name="lossDescription" type="xs:string"/> <xs:element name="lossLocation" type="address" minOccurs="0"/> <xs:element name="lossTime" type="xs:string" minOccurs="0"/> <xs:element name="officials" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="official" type="official" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="incidentOnly" type="xs:boolean" use="required"/> <xs:attribute name="lawsuit" type="xs:boolean" use="required"/> </xs:complexType>

y:

<xs:complexType name="propLoss"> <xs:complexContent> <xs:extension base="loss"> <xs:all> <xs:element name="damageDescription" type="xs:string"/> <xs:element name="property" type="property"/> <xs:element name="responsibleParty" type="contact" minOccurs="0"/> </xs:all> <xs:attribute name="businessOperational" type="xs:boolean" use="required"/> <xs:attribute name="propertyLivable" type="xs:boolean" use="required"/> <xs:attribute name="weatherRelated" type="xs:boolean" use="required"/> </xs:extension> </xs:complexContent> </xs:complexType>

Sin embargo, después de la validación, aparece un error que indica que no se permite el grupo de all modelos dentro de la loss complexType ni su extensión propLoss definition. ¿Qué es lo que estoy haciendo mal?

¡Gracias!


Un problema con propLoss es que no se puede extender un grupo all en XML Schema (1.0). De la especificación:

Nota: Esta especificación solo permite anexar, y no otros tipos de extensiones. Esta decisión simplifica el procesamiento de aplicaciones requerido para convertir instancias desde derivadas a tipo base. Las versiones futuras pueden permitir más tipos de extensión, que requieren transformaciones más complejas para efectuar el casting.

No estoy seguro de cuál es el problema con la loss menos que sea un daño colateral del error propLoss .


Tenga en cuenta que en XSD 1.1 all grupos se pueden ampliar de la manera que se muestra aquí, con el significado de que todos los niños mencionados en cualquiera de all grupos deben estar presentes en cualquier orden. (Es decir, todo el grupo 1 y todo el grupo 2 se fusionan en un único todo-grupo con la concatenación de sus hijos).