XML "any content except in namespace B" 的架构内容模型 A?

XML schema content model A for "any content except in namespace B"?

有没有办法限制 xsd:any 以便仅排除特定的命名空间?

像这样:

complexType name="A">
<xs:sequence>
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>    
<!-- Somehow exclude all elements with names starting "B:" -->
</xs:sequence>
</xs:complexType>

符合这种类型的 XML 例如

<A>
<anything:whatever>
</anything:whatever>
</A>

但从来没有:

<A>
<anything:whatever>
</anything:whatever>
<B:ad>INVALID</B:ad>
</A>

是否有等效的方法来做到这一点?

我只对 XSD V1.0 验证感兴趣。

不,这不能在 XSD 1.0 中完成。

XSD 1.1 添加了 xs:any/@notNamespace 属性以满足此要求。