7

XML 要素のエイリアスを定義するための XSD 言語サポートまたはトリック (たとえば、プリプロセッサ経由) はありますか? スキーマ内のすべての要素に別名を付けて、XML ドキュメントのより暗号化されたネットワーク帯域幅効率の高いバージョンのオプションを作成したいと考えています。

たとえば、要素などIRQのエイリアスになるような名前を定義したいと思います。InterruptRequest

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

次の 2 つの宣言が互いに等価であるように

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

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

1 に答える 1

8

2 つの要素名を同義語として定義することはできませんが、置換グループを使用して一方を他方に置換可能として定義することはできます。これらはアプリケーションでは異なって表示されますが、検証プロセスにより、コンテンツ モデルが許可するすべての場所で一方を使用することが許可されます。

<element name="a">...

<element name="b" substitutionGroup="a">...
于 2012-09-17T14:26:28.023 に答える