我希望自动化一个方法来替换全局元素声明中的本地元素声明。
像这样:
<xs:schema>
...
<xs:element name="aaa">
<xs:complexType>
<xs:sequence>
<xs:element name="bbb">
....content bbb ...
<xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ccc">
<xs:complexType>
<xs:sequence>
<xs:element name="bbb">
....content bbb' ...
<xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
...
<xs:schema>
到
<xs:schema>
...
<xs:element name="aaa">
<xs:complexType>
<xs:sequence>
<xs:element ref="bbb"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ccc">
<xs:complexType>
<xs:sequence>
<xs:element ref="bbb"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="bbb">
<xs:complexType>
.... Valide for bbb and bbb' ...
</xs:complexType>
</xs:element>
...
<xs:schema>
有没有人知道实现此目的的方法或工具? 谢谢你的帮助。
答案 0 :(得分:0)
您可以将ref用于现有的全局元素,然后您可以定义您的元素bbb,例如它对bbb和bbb'案例都有效:
<xs:schema>
...
<xs:element name="aaa">
<xs:complexType>
<xs:sequence>
<xs:element ref="bbb"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ccc">
<xs:complexType>
<xs:sequence>
<xs:element ref="bbb"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="bbb">
<xs:complexType>
.... Valide for bbb and bbb' ...
</xs:complexType>
</xs:element>
...
<xs:schema>