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