2012-09-17 10 views
5

Czy istnieje obsługa języka XSD lub triki (na przykład przez preprocesor) do definiowania aliasu dla elementu XML? Chciałbym wymienić wszystkie elementy w moim schemacie, aby stworzyć opcję dla bardziej tajemniczej, ale wydajnej pod względem przepustowości wersji naszych dokumentów XML.Definiowanie aliasu dla elementu XML w schemacie XSD

na przykład, to, że w celu określenia jak nazwy, takie jak IRQ być alias dla elementu InterruptRequest itp

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

tak, że dwa kolejne zgłoszenia są sobie równoważne

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

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

Odpowiedz

7

Nie można zdefiniować dwóch nazw elementów jako synonimów, ale można je zdefiniować jako zastępowalne za pomocą grupy podstawiania. Nadal będą one wyglądały inaczej niż aplikacja, ale proces sprawdzania poprawności pozwoli na użycie jednego z nich wszędzie tam, gdzie model zawartości dopuszcza inne.

<element name="a">... 

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

podstawieniaGrupy są świetne. Jednak w moim przypadku elementy pojawiają się w elemencie wyboru. Sądzę więc, że mógłbym po prostu powtórzyć oba nazwiska na liście wyboru. – Olumide

Powiązane problemy