2012-09-17 25 views
5

¿Hay compatibilidad con el lenguaje XSD o trucos (por ejemplo, a través del preprocesador) para definir un alias para un elemento XML? Me gustaría asignar un alias a todos los elementos en mi esquema para crear una opción para una versión más críptica pero eficiente de ancho de banda de red de nuestros documentos XML.Definición de un alias para elemento XML en el esquema XSD

Por ejemplo, me gusta definir un nombre tal como IRQ ser un alias para el elemento InterruptRequest etc.

<xs:element name="InterruptRequest" minOccurs="0"> 
    <xs:complexType> 
     <xs:attribute name="level" type="xs:unsignedShort" use="required"/> 
    </xs:complexType> 
</xs:element> 

Así que las siguientes dos declaraciones son equivalentes entre sí

<!-- Human readable but bandwidth inefficient --> 
<InterruptRequest level="22" /> 

<!-- Cryptic, but comparatively bandwidth efficient --> 
<IRQ level="22" /> 

Respuesta

7

No se pueden definir dos nombres de elementos, pero se puede definir uno como sustituible por el otro mediante un grupo de sustitución. Seguirán apareciendo de manera diferente a su aplicación, pero el proceso de validación permitirá que una de ellas se use en cualquier lugar que el modelo de contenido permita a la otra.

<element name="a">... 

<element name="b" substitutionGroup="a">... 
+0

substitutionGroup son geniales. Sin embargo, en mi caso los elementos aparecen en un elemento de elección. Así que supongo que podría repetir ambos nombres en la lista de elección. – Olumide

Cuestiones relacionadas