Estoy tratando de definir un tipo de elemento en XSD, para lo cual quiero un atributo opcional, que si está presente puede contener un flotante o estar vacío (pero aún presente)XSD: restringe atributo a xs: float o ""
es decir:
<xs:element name="MyElement">
<xs:complexType>
<xs:attribute name="optionalFloatAttribute" type="xs:float" use="optional"/>
</xs:complexType>
</xs:element>
necesidades "fijación" para permitir que todos los siguientes xml: -
<MyElement/>
or
<MyElement optionalFloatAttribute=""/>
or
<MyElement optionalFloatAttribute="3.14159"/>
La única forma que veo de hacer esto es para cambiar el tipo de xs:string
, y use xs:restriction
con una expresión regular. Pero esto no me parece muy ideal. ¿Hay una mejor manera?
Y tengo a ser capaz de soportar estas variaciones del xml - el programa y XML existente es el legado, y estoy tratando de hacer una copia de crear un esquema para que coincida con la multitud de variaciones que veo en lo que tenemos que respeto como xml válido
Asumo que puede hacer lo mismo con los atributos mediante el uso de 'complexType' s? Esta es una excelente respuesta y resolvió mi problema. –