在xs:任何类型的XML元素中,命名空间通配符## other还包括#local吗?
据我所知,从以下情况来看,它没有,例如:
https://www.w3.org/TR/xmlschema-1/
https://msdn.microsoft.com/en-us/library/ms256043(v=vs.110).aspx
据我所知,上面第二个链接的定义似乎是分离的:
Elements from any namespace that is not the target namespace of the parent element containing this element can be present.
Elements that are not qualified with a namespace can be present.
这是正确的,我是否理解正确? xs:any
类型##other
的XML元素中必须没有不合格的元素?
答案 0 :(得分:2)
##local
允许没有名称空间的名称
##other
允许名称空间不在目标名称空间
您需要非常小心这里的术语。使用诸如“不合格元素”之类的口语术语对您没有帮助,因为规范非常精确地使用术语并假设您知道它们的含义。特别是,我们中的许多人认为“没有命名空间中的名称”在某种特殊的“未命名”或“空”命名空间中,但认为在阅读XSD规范时这是一个错误的错误。当规范说明名称必须在目标命名空间以外的命名空间中时,它意味着(a)它必须在命名空间中(因此排除无命名空间名称 - 与##local
匹配的名称)和(b) )该命名空间不能是目标命名空间。