xml的命名空间

1、使用命名空间的动机

一个XML文档可能包括来自多个XML词汇表的元素或属性,如果每一个词汇表指派一个命名空间,那么相同名字的元素或属性之间的名称冲突就可以解决。举一个简单的例子来说,在一个订单的XML文档中需要引用到客户和所购买的产品,customer元素和product元素可能都有一个叫做id的子元素。这时候要引用id元素会造成名称冲突,但是如果将两个id元素放到不同的命名空间中就会解决这个问题。

2、声明和引用命名空间(xml NameSpace)

命名空间使用元素的属性来声明,比如:

xmlns:xhtml="http://www.w3.org/1999/xhtml"

其中:

  • xmlns是使用专门用来声明命名空间的保留字
  • xhtml是命名空间的前缀
  • http://www.w3.org/1999/xhtml 是命名空间的唯一标识符,是一个IRI引用,但通常是一个统一资源标志符(URI)引用

3、命名空间宣言

当一个元素带有属性xmlns=””,该元素的默认命名空间和它的后代将恢复为“无命名空间”:那就是在任何命名空间里头都不被视为前缀名称。

参考:

1、https://www.neilx.com/blog/?p=377

2、https://my.oschina.net/whitejavadog/blog/817136