在全局元素声明中转换局部元素
Convert local element in global element declaration
我希望自动化一种方法来替换全局元素声明中的局部元素声明。
像这样:
<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>
有谁知道实现此目的的方法或工具吗?
感谢您的帮助。
您可以将 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>
我希望自动化一种方法来替换全局元素声明中的局部元素声明。
像这样:
<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>
有谁知道实现此目的的方法或工具吗? 感谢您的帮助。
您可以将 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>