现在我有一个看起来像这样的 XSD 文件(例如 FOO_SCHEMA.xsd):
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="FOO">
<xs:annotation>
<xs:documentation>Comment</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="BAR1" type="xs:string" />
<xs:element name="BAR2" type="xs:string" />
<xs:element name="BAR3" type="xs:string" />
<xs:element name="BAR4" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我想修改两个元素(比如 BAR1 和 BAR2)以使用一次。我知道如何将它用于其中之一,
<xs:element name="BAR1">
<xs:simpleType>
<!-- my type definition here -->
</xs:simpleType>
</xs:element>
但我想在两个(甚至更多)元素中使用它,我不确定如何在不复制相同的简单类型定义的情况下做到这一点。从谷歌搜索,似乎我需要用名称声明类型
但我不知道在哪里放置这个声明。我尝试将它放在与 xs:complexType 和其他几个级别相同的级别,但它被架构验证器拒绝。知道把这个声明放在哪里吗?任何的想法?