2012-09-17 7 views
5

Gibt es XSD-Sprachunterstützung oder Tricks (z. B. über den Präprozessor) zum Definieren eines Alias ​​für ein XML-Element? Ich möchte alle Elemente in meinem Schema als Alias ​​verwenden, um eine Option für eine kryptischere aber bandbreiteneffiziente Version unserer XML-Dokumente zu erstellen.Definieren eines Alias ​​für das XML-Element im XSD-Schema

Zum Beispiel würde Ich mag einen Namen definieren, wie IRQ ein Alias ​​für das Element seiner InterruptRequest usw.

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

so dass die folgenden zwei Erklärungen äquivalent zueinander sind

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

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

Antwort

7

Sie können zwei Elementnamen auch nicht synonym definieren, aber Sie können eines als substituierbar für das andere mit Hilfe einer Substitutionsgruppe definieren. Sie erscheinen immer noch anders als Ihre Anwendung, aber der Validierungsprozess ermöglicht, dass einer von ihnen überall verwendet wird, wo das Inhaltsmodell dem anderen erlaubt.

<element name="a">... 

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

substitutionGroups sind großartig. In meinem Fall erscheinen die Elemente jedoch in einem Auswahlelement. Ich denke, ich könnte einfach beide Namen in der Auswahlliste wiederholen. – Olumide

Verwandte Themen