1

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

<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 />

在不同位置的架构中(在选择和序列块的底部),但我总是收到架构无效错误。我了解这如何导致我的架构模棱两可,但我不知道如何解决我的问题(可能是通过一些额外的限制,例如“新标签只能位于底部”或其他东西)。

4

0 回答 0