使XML模式可扩展到更新的版本

时间:2013-07-03 10:28:02

标签: xml xsd schema ambiguity any

我有以下XML格式,我想使其可扩展。根标签“A”具有几个可以按任何顺序出现的不同类型(xs:字符串或自定义)的可选和必填字段(Ax)。下面的架构适合我:

<xs:element name="A">
  <xs:complexType>
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="A1" minOccurs="1" maxOccurs="1"/>
        <xs:element name="A2" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <!-- AND MANY MORE -->
      </xs:choice>
    </xs:sequence>
  </xs:complexType>
</xs:element>

现在我想确保此XML的更新版本仍然针对架构进行验证。更新我的意思是:拥有更多XML模式未知的标签。这些新标记与旧文件一样,可以在XML文件中以任何顺序出现。我尝试添加

<xs:any />

在不同位置的模式中(在选项和序列块的底部),但我总是得到一个模式无效的错误。我理解这会导致我的架构模糊不清,但我不知道如何解决我的问题(可能有一些额外的限制,比如'新标签只能在底部'或者某些东西)。

0 个答案:

没有答案