首頁  >  文章  >  後端開發  >  關於XML中的名稱空間的範例程式碼分享

關於XML中的名稱空間的範例程式碼分享

黄舟
黄舟原創
2017-03-21 16:52:551383瀏覽

XML中的名稱空間又被叫做命名空間

名稱空間的作用?

為了解決不同領域的XML詞彙的同名衝突和區分辨識。 (參考底下的範例

注意#:名稱空間只存在邏輯意義,無法真正實現對URI的引用。

名稱空間的宣告:

#放在元素(一般是根元素)的起始標籤內,以類似屬性的形式聲明。

名稱空間的宣告將名稱前綴和URI關聯起來。

名稱空間的作用範圍:

#只在宣告名稱空間的元素以及該元素所包含的元素屬性內有效。

(注意:預設名稱空間不直接作用於屬性)

宣告名稱空間的元素,稱為包容體Container)。名稱空間和前綴的關聯關係在包容體的範圍內有效。

名稱空間的兩種宣告方式:

#1##明確名稱空間宣告:xmlns : 前綴名稱 = “URI”

例如:##

<根元素 xmlns: xg = “http://xugang.cnblogs.com” >
           <xg:子元素  attName = “myname” />
2

預設名稱空間宣告:xmlns = “URI”

它沒有前綴名,所以在

包容體內沒有前綴名的XML元素和屬性都屬於預設名稱空間。

例如:

<根元素 xmlns = “http://xugang.cnblogs.com” >
           <子元素 attName =“myname” />

#注意:盡量只在根元素宣告預設名稱空間。若預設名稱空間宣告在非根元素,則容易被使用者誤解或忽略成沒有名稱空間的元素。所以,非根元素盡量不使用預設名稱空間宣告(建議使用明確名稱空間宣告)。

名稱空間的宣告注意:#    * 雙引號內必須是URI ;

    * XML區分大小寫,前綴名也不例外;

    *
前綴名
建議採用英文縮寫,也可以用中文(但不建議用中文);    * 盡量避免同名前綴
卻對應不同URI的名稱空間的情況,它將容易誤導使用者;    * 盡量在根元素
中宣告所有的名稱空間;    * 若屬性所在的元素屬於某明確宣告的名稱空間,一般就不需要為此屬性加上前綴。

URI

(Uniform Resource Identifier):統一格式資源識別碼。

URI URN 的超集。

URL

Uniform Resource Locater,統一格式資源定位器):用來標記網路上某資源的位置,就是通常所說的網址。

URNUniform Resource Name,统一格式资源名称):表示Internet上某个持久(persistent)的资源,格式相对自由。如:“myURN: IT”表示本示例内部使用的名称。

示例:

IT部门使用.xml

<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<资料>   
<设备 编号="联想6515b">      
<生产商>联想集团</生产商>      
<地址>北京市中关村127号</地址>   
</设备></资料>

建筑部门使用.xml

<?xml version="1.0" encoding="GB2312" standalone="yes" ?>
<资料>
   <设备 编号="中联F001">
      <生产商>中联重科</生产商>
      <地址>湖南省长沙市新开铺113号</地址>
   </设备>
</资料>

错误的部门融合.xml

<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<资料>
   <设备 编号="联想6515b" 编号="中联F001">
      <设备名>笔记本</设备名>
      <生产商>联想集团</生产商>
      <地址>北京市中关村127号</地址>
      <设备名>起重机</设备名>
      <生产商>中联重科</生产商>
      <地址>湖南省长沙市新开铺113号</地址>
   </设备>
</资料>

正确的部门融合.xml

<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<资料 xmlns:IT="http://www.lenovo.com" xmlns:建筑="myURN:中联">
   <设备 IT:编号="联想6515b" 建筑:编号="中联F001">
      <IT:设备名>笔记本</IT:设备名>
      <IT:生产商>联想集团</IT:生产商>
      <IT:地址>北京市中关村127号</IT:地址>
      <建筑:设备名>起重机</建筑:设备名>
      <建筑:生产商>中联重科</建筑:生产商>
      <建筑:地址>湖南省长沙市新开铺113号</建筑:地址>
   </设备>
</资料>

以上是關於XML中的名稱空間的範例程式碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn