Xml 扩展XSD文件
我有一个枚举类型的XSD文件。我想创建一个“扩展”XSD文件,它添加了一些额外的枚举,但在其他方面的行为与主XSD一样 例如,主XSD文件包含以下内容:Xml 扩展XSD文件,xml,xsd,Xml,Xsd,我有一个枚举类型的XSD文件。我想创建一个“扩展”XSD文件,它添加了一些额外的枚举,但在其他方面的行为与主XSD一样 例如,主XSD文件包含以下内容: <xsd:simpleType name="color"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="red"></xsd:enumeration> <xsd:enumera
<xsd:simpleType name="color">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="red"></xsd:enumeration>
<xsd:enumeration value="orange"></xsd:enumeration>
<xsd:enumeration value="yellow"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
...
<xsd:element name="myColor" type="color" />
...
我想象中的扩展XSD文件只是将“gold”添加到“color”类型中。现有的“myColor”元素现在可以包含“gold”,如果它使用这个XSD而不是主XSD
这可能吗?像这样的事情怎么样
<!-- Your base enumeration -->
<xsd:simpleType name="color">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="red"/>
<xsd:enumeration value="orange"/>
<xsd:enumeration value="yellow"/>
</xsd:restriction>
</xsd:simpleType>
<!-- You extended enumeration -->
<xsd:simpleType name="colorEx">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="gold"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="color_union">
<xsd:union memberTypes="colorEx color"/>
</xsd:simpleType>
<xsd:element name="myColor" type="color_union"/>
如何将这些文件放在单独的文件中?如果我在扩展xsd中使用xsd:redefinite,并重新定义colorEx,那么我将被限制为colorEx中已经允许的值。所以我不能添加新值。我想我可以将colorEx默认为一个字符串类型。这意味着,如果我直接使用基本XSD,则对类型没有任何限制;任何字符串都是允许的。但是如果我使用扩展XSD,它将受到限制。