命名空間就是一組唯一名稱。命名空間是確定哪個元素和屬性名可以被分配到某個組的一種機制。命名空間通過 URI(統一資源標示符)識別。
命名空間聲明
命名空間使用保留屬性聲明。這種屬性名必須是 xmlns 或者以 xmlns: 開頭。如下所示:
XML/HTML Code復制內容到剪貼板
- <element xmlns:name="URL">
語法
命名空間以關鍵字 xmlns 開頭。
name 就是命名空間前綴。
URL 就是命名空間標識符。
示例
命名空間只影響文檔中有限的區域。包含這個聲明的元素以及其所有子元素都在命名空間范圍之內。下面是一個 XML 命名空間的簡單示例:
XML/HTML Code復制內容到剪貼板
- <?xml version="1.0" encoding="UTF-8"?>
- <cont:contact xmlns:cont="www.tutorialspoint.com/profile">
- <cont:name>Tanmay Patil</cont:name>
- <cont:company>TutorialsPoint</cont:company>
- <cont:phone>(011) 123-4567</cont:phone>
- </cont:contact>
這裡,命名空間前綴是 cont,標示符(URI)是 www.tutorialspoint.com/profile。這意味著,帶有 cont 前綴元素名和屬性名都(包括 contact 元素)屬於 www.tutorialspoint.com/profile 這個命名空間。
在XML中,名稱空間的使用涉及范疇的概念,范疇即名稱空間的覆蓋范圍,它指的是哪些元素和屬性在該名稱空間中,哪些不在該名稱空間中。名稱空間既可以限定整個XML文檔,也可以只針對XML文檔中的一部分。
(1).名稱空間限定整個XML文檔
XML/HTML Code復制內容到剪貼板
- <span style="font-family:SimSun;font-size:14px;"><?xml version=”1.0”?>
- <member_details xmlns=”http://www.testns.com/ns.xsd”>
- <name>Tom</name>
- <age>12</age>
- <sex>male</sex>
- </member_details></span>
(2)名稱空間只針對XML文檔中的一部分
XML/HTML Code復制內容到剪貼板
- <span style="font-family:SimSun;font-size:14px;"><?xml version=”1.0”?>
- <member_details>
- <name xmlns=”http://www.testns.com/ns.xsd”>Tom</name>
- <age>12</age>
- <sex>male</sex>
- </member_details></span>
(3)嵌套的命名空間
XML/HTML Code復制內容到剪貼板
- <span style="font-family:SimSun;font-size:14px;"><?xml version=”1.0”?>
- <member_details xmlns=”http://www.testns.com/ns.xsd”
- xmlns:newns=”http://www.testns/newns.xsd”>
- <name>Tom</name>
- <age>12</age>
- <newns:sex>male</sex>
- </member_details>
- //<span style="line-height: 26px;"> 此例中,除了元素sex被定義在新的名稱空間中外,其余的元素仍然使用原來的名稱空間。</span></span>