我怀疑在另一个XSD中重新定义一个简单类型的一个XSD。
sample1.xsd:
<xs:simpleType name="tLineType">
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="mainLine" />
<xs:enumeration value="secondaryLine" />
<xs:enumeration value="branchLine" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="tOtherEnumerationValue" />
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:simpleType name="tOtherEnumerationValue">
<xs:restriction base="xs:string">
<xs:pattern value="other:\w{2,}" />
</xs:restriction>
</xs:simpleType>
sample2.xsd:
我需要在tLineType中添加一些枚举值(例如:test_Track,Depot)。
如何实现上述功能?
提前谢谢。
答案 0 :(得分:0)
在xs:redefine中,您只能通过使其更具限制性来重新定义您的架构,而您正试图使其更加自由(通过添加之前不允许的允许值)。
您已将其标记为XSD 1.1。在XSD 1.1中有一个新机制xs:override,它允许对基础模式中的组件进行任意更改。