2012-09-17 21 views
5

XML要素のエイリアスを定義するためのXSD言語サポートやトリック(プリプロセッサなど)はありますか?私は私のスキーマのすべての要素にエイリアスを付けて、わかりやすく、ネットワーク帯域幅効率のよいXML文書のオプションを作成したいと考えています。XSDスキーマでXML要素のエイリアスを定義する

例えば、I等要素InterruptRequest次の2つの宣言が互いに

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

<!-- Cryptic, but comparatively bandwidth efficient --> 
<IRQ level="22" /> 
と同等になるよう

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

の別名であることが、このようなIRQとして名前を定義したいと思い

答えて

7

2つの要素名を同義語として定義することはできませんが、置換グループを使用して他の要素名に代入可能なものとして定義することができます。それらは依然としてアプリケーションとは異なりますが、検証プロセスでは、コンテンツモデルが他のものを許可するどこでも使用できます。

<element name="a">... 

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

substitutionGroup'sは素晴らしいです。しかし、私の場合、要素はchoice要素に表示されます。だから私は選択肢のリストで両方の名前を繰り返すことができたと思う。 – Olumide

関連する問題