targetNamespace与默认命名空间xmlns的区别

这是两个不同的概念。
xmlns 几乎可以在任何 XML 文档中出现,表示具有该“属性”的元素和子节点及其属性均属于该名称空间。
targetNamespace 是 W3C Schema 中的一个属性,用于 Schema 的根元素,表示 Schema 作用的名称空间。

在一份 W3C Schema 中,可能出现类似以下片段所示的内容:
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="mydomain:schemas/article"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
...

schema 元素本身的 xmlns 表示 schema 和下属的元素均属于“http://www.w3.org/2001/XMLSchema”的名称空间,而这份 Schema
可以用于验证标记了 xmlns="mydomain:schemas/article" 的XML 文档。


如果给你带来帮助,欢迎微信或支付宝扫一扫,赞一下。