📜  XML命名空间

📅  最后修改于: 2020-12-25 04:50:27             🧑  作者: Mango

XML命名空间

XML命名空间用于避免XML文档中元素名称的冲突。

XML命名空间声明

使用保留的XML属性声明XML名称空间。此属性名称必须以“ xmlns”开头。

让我们看一下XML名称空间语法:


在这里,名称空间以关键字“ xmlns”开头。单词名称是名称空间前缀。 URL是名称空间标识符。

让我们看一下XML文件的示例。



   Vimal Jaiswal
   SSSIT.org
   (0120) 425-6464
 

命名空间前缀: cont

命名空间标识符: http://sssit.org/contact-us

它指定带有cont前缀的元素名称和属性名称属于http://sssit.org/contact-us命名空间。

在XML中,元素名称由开发人员定义,因此有可能在元素名称上发生冲突。为了避免这些类型的冲突,我们使用XML命名空间。我们可以说XML命名空间提供了一种避免元素名称冲突的方法。

通常,当我们尝试混合来自不同XML应用程序的XML文档时,会发生这些冲突。

让我们以两个表为例:

表格1:

Aries Bingo

表2:此表包含有关计算机表的信息。

Computer table80120

如果将这两个XML片段加在一起,则会出现名称冲突,因为它们都具有

如何摆脱名称冲突?

1)使用前缀

您可以使用名称前缀轻松地避免使用XML名称空间。


  
    Aries
    Bingo
  


  Computer table
  80
  120
 

注意:在此示例中,因为两个表都有特定的名称,所以您不会发生冲突。

2)通过使用xmlns属性

您可以使用xmlns属性通过以下语法定义名称空间:


让我们来看一个例子:



  
    Aries
    Bingo
  



  Computer table
  80
  120

 

在上面的示例中,

元素定义了一个名称空间,并且当为一个元素定义一个名称空间时,具有相同前缀的子元素将与相同的名称空间相关联。



  
    Aries
    Bingo
  


  Computer table
  80
  120

 

注意:上例中使用的命名空间URI完全没有必要。解析器不使用它来查找信息。它仅用于为名称空间标识符提供唯一的名称。

统一资源标识符(URI)

统一资源标识符用于标识Internet资源。这是字符串>。

最常见的URI是URL(统一资源定位符),用于标识Internet域名地址。

还有一个URI名称URN(通用资源名称),但并不常见。在所有示例中,我们仅使用了URL。

默认命名空间

XML文档中使用了默认名称空间,以免您在所有子元素中使用前缀。

默认名称空间和简单名称空间之间的唯一区别在于:无需在默认名称空间中使用前缀。

您还可以在同一文档中使用多个名称空间,只需针对子节点定义一个名称空间。

默认命名空间示例:


  
    Java-tutorial
    Sonoo Jaiswal
  
  ...
 

您可以看到在此示例中未使用前缀,因此它是默认名称空间。

注意:如果定义不带前缀的名称空间,则所有后代元素均被视为属于该名称空间。