validacion tipos simple opcional extension elemento datos schema xsd redefine simpletype

schema - tipos - XSD: cómo redefinir el tipo de datos de un tipo simple, por ej. de xs: cadena a xs: entero



xml schema (1)

Por lo que puedo decir, esto no es posible.

La única redefinición que pude hacer para validar en XMLSpy fue:

<xs:redefine schemaLocation="fields-base.xsd"> <xs:simpleType name="LastUpdateTime_t"> <xs:restriction base="LastUpdateTime_t" /> </xs:simpleType> </xs:redefine>

Es decir, la nueva restricción debe basarse en la restricción base.

Podría ser que XMLSpy está equivocado al respecto.

Esta cita algo críptica de la definición del esquema XML del W3C :

Dentro de [children], cada simpleType debe tener a entre sus [children] y cada complexType debe tener una restricción o extensión entre su grand- [children] el · valor real · de cuya base [attribute] debe ser la misma que la · valor real · de su propio atributo de nombre más espacio de nombres de destino;

podría estar hablando de esto (es esa parte de la especificación a la que se vincula XMLSpy para este error).

El único ejemplo realmente bueno de redefinir tipos simples que pude encontrar estaba aquí . En este ejemplo, la redefinición es solo para enumeraciones.

Estoy tratando de extender y adaptar un esquema xsd externo (del estándar fixml). Necesito cambiar el tipo de datos de algunos de los elementos, sin tocar el esquema original, sino redefiniéndolo; pero he estado encontrando extremadamente engorroso.

Lo que existe:

fields-base.xsd

<xs:simpleType name="LastUpdateTime_t"> <xs:restriction base="UTCTimestamp"> <xs:simpleType>

lo que quiero que sea:

<xs:simpleType name="LastUpdateTime_t"> <xs:restriction base="xs:string"> <xs:simpleType>

Lo que he intentado (pero fallé):

<xs:redefine schemaLocation="fields-base.xsd"> <xs:simpleType name="LastUpdateTime_t"> <xs:restriction base="xs:string" /> </xs:simpleType> </xs:redefine>

Los libros y la red tampoco parecen haber ayudado demasiado, así que estoy empezando a preguntar si esto es teóricamente posible.