首页 > 代码库 > 命名空间

命名空间

1. XML 命名空间提供避免元素命名冲突的方法。当不同的xml文件里包含相同的标签但不同含义,又恰恰在同一个文件里被引用时就分辨不出这个标签的含义了,使用命名空间来区分就不会存在歧义了,

1)xmlns (xmlns="http://www.w3schools.com")-- specifies thedefaultnamespace declaration.
This declaration tells the schema-validator that all the elements used in this XML document are declared in the "http://www.w3schools.com"
namespace.这个是定义了默认命名空间,所有不带前缀的元素都是使用这个默认命名空间里的元素。

2)xmlns:xsi (xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance")-- indicates that the elements and data types used in the schema come from the " http://www.w3.org/2001/XMLSchema-instance " namespace. It also specifies that the elements and data types that come from the " http://www.w3.org/2001/XMLSchema-instance " namespaceshould be prefixed with xsi.这个同样声明了可以使用的命名空间,但是使用时需要指明xsi前缀,比如:<xsi:ss>使用xsi命名空间</xsi:ss> (ss应该是xsi里真实定义的schema).

3) targetNamespace (targetNamespace="http://www.w3schools.com")这个是把当前文档声明成一个命名空间,类似java文件中的package。但这只是声明而没有使用。如果使用xmlns:target定义跟targetNamespace一样的值,则是定义了target前缀的命名空间就是使用当前文档定义的命名空间。如:<schema xmlns="http://www.w3.org/2001/SchemaXML targetNamespace="http://www.example.com/name" xmlns:target="http://www.example.com/name">

命名空间