是否有XSD语言支持或技巧(例如通过预处理器)来定义XML元素的别名?我想为我的模式中的所有元素添加别名,以便为更加神秘但网络带宽有效的XML文档版本创建一个选项.
例如,我想定义一个名称,例如作为IRQ
元素的别名InterruptRequest
等.
<xs:element name="InterruptRequest" minOccurs="0">
<xs:complexType>
<xs:attribute name="level" type="xs:unsignedShort" use="required"/>
</xs:complexType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)
这样以下两个声明就相互对应了
<!-- Human readable but bandwidth inefficient -->
<InterruptRequest level="22" />
<!-- Cryptic, but comparatively bandwidth efficient -->
<IRQ level="22" />
Run Code Online (Sandbox Code Playgroud)
您不能将两个元素名称定义为同义,但您可以通过替换组将一个元素名称定义为另一个.它们仍然会以不同的方式显示在您的应用程序中,但验证过程将允许其中一个用于内容模型允许另一个的任何位置.
<element name="a">...
<element name="b" substitutionGroup="a">...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6252 次 |
最近记录: |