我有我想要使用验证XML数据的XML架构(XSD),但有关XML数据的一个非常具体的事情不符合。我想生成一个备用XSD来成功验证XML。更具体地讲,我想延长一个类型的定义,允许不是由原始XSD允许的值。修改原始XSD是不实际的。是否有可能使用的xsd:重新定义扩展,而不是限制?
下面是从原来的XSD最初的定义:
<simpleType name="fooType">
<restriction base="token">
<pattern value="[a-z]+"/>
<enumeration value="foo"/>
</restriction>
</simpleType>
我想允许值“123”太对使用这种类型定义的实体。所以,我试过这个:
<redefine schemaLocation="original.xsd">
<simpleType name="fooType">
<extension base="orig:fooType">
<enumeration value="123"/>
</extension>
</simpleType>
</redefine>
我承认我只是在说它,我不知道XSD。但在阅读标准之前,我想知道这是否有可能?全部(我的意思是都是)例子我能找到的xsd:redefine已经到限制可能的值,而不是扩展他们。
如果不使用XSD:重新定义,那么我该怎么办呢?
编辑:相关,但不提供信息:Extending XSD files