溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

XML中名稱空間的示例分析

發(fā)布時間:2021-07-27 11:00:32 來源:億速云 閱讀:109 作者:小新 欄目:編程語言

這篇文章主要介紹了XML中名稱空間的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

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

名稱空間的作用?

為了解決不同領(lǐng)域的XML詞匯的同名沖突和區(qū)分識別。(參考底下的示例)

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

名稱空間的聲明:

放在元素(一般是根元素)的起始標(biāo)簽內(nèi),以類似屬性的形式聲明。

名稱空間的聲明將名稱前綴和URI關(guān)聯(lián)起來。

名稱空間的作用范圍:

只在聲明名稱空間的元素以及該元素所包含的元素屬性內(nèi)有效。

(注意:默認(rèn)名稱空間不直接作用于屬性)

聲明名稱空間的元素,稱為包容體(Container)。名稱空間和前綴的關(guān)聯(lián)關(guān)系在包容體的范圍內(nèi)有效。

名稱空間的兩種聲明方式:

1、顯式名稱空間聲明:xmlns : 前綴名 = “某URI”

例如:

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

2、默認(rèn)名稱空間聲明:xmlns = “某URI”

它沒有前綴名,所以在包容體內(nèi)沒有前綴名的XML元素和屬性都屬于默認(rèn)名稱空間。

例如:

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

注意:盡量只在根元素聲明默認(rèn)名稱空間。若默認(rèn)名稱空間聲明在非根元素,則容易被用戶誤解或忽略成沒有名稱空間的元素。所以,非根元素盡量不使用默認(rèn)名稱空間聲明(推薦使用顯式名稱空間聲明)。

名稱空間的聲明注意:

* 雙引號內(nèi)必須是一個URI;
   * XML區(qū)分大小寫,前綴名也不例外;
   * 前綴名建議采用英文縮寫,也可以用中文(但不推薦用中文);
   * 盡量避免同名前綴卻對應(yīng)不同URI的名稱空間的情況,它將容易誤導(dǎo)用戶;
   * 盡量在根元素中聲明所有的名稱空間;
   * 如果一個屬性所在的元素屬于某顯式聲明的名稱空間,一般就不需要為該屬性添加前綴。

URI (Uniform Resource Identifier):統(tǒng)一格式資源標(biāo)識符。

URI 是 URL 和 URN 的超集。

URL(Uniform Resource Locater,統(tǒng)一格式資源定位器):用于標(biāo)記網(wǎng)絡(luò)上某資源的位置,就是通常所說的網(wǎng)址。

URN(Uniform Resource Name,統(tǒng)一格式資源名稱):表示Internet上某個持久(persistent)的資源,格式相對自由。如:“myURN: IT”表示本示例內(nèi)部使用的名稱。

示例:

IT部門使用.xml

<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<資料>   
<設(shè)備 編號="聯(lián)想6515b">      
<生產(chǎn)商>聯(lián)想集團(tuán)</生產(chǎn)商>      
<地址>北京市中關(guān)村127號</地址>   
</設(shè)備></資料>

建筑部門使用.xml

<?xml version="1.0" encoding="GB2312" standalone="yes" ?>
<資料>
   <設(shè)備 編號="中聯(lián)F001">
      <生產(chǎn)商>中聯(lián)重科</生產(chǎn)商>
      <地址>湖南省長沙市新開鋪113號</地址>
   </設(shè)備>
</資料>

錯誤的部門融合.xml

<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<資料>
   <設(shè)備 編號="聯(lián)想6515b" 編號="中聯(lián)F001">
      <設(shè)備名>筆記本</設(shè)備名>
      <生產(chǎn)商>聯(lián)想集團(tuán)</生產(chǎn)商>
      <地址>北京市中關(guān)村127號</地址>
      <設(shè)備名>起重機(jī)</設(shè)備名>
      <生產(chǎn)商>中聯(lián)重科</生產(chǎn)商>
      <地址>湖南省長沙市新開鋪113號</地址>
   </設(shè)備>
</資料>

正確的部門融合.xml

<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<資料 xmlns:IT="http://www.lenovo.com" xmlns:建筑="myURN:中聯(lián)">
   <設(shè)備 IT:編號="聯(lián)想6515b" 建筑:編號="中聯(lián)F001">
      <IT:設(shè)備名>筆記本</IT:設(shè)備名>
      <IT:生產(chǎn)商>聯(lián)想集團(tuán)</IT:生產(chǎn)商>
      <IT:地址>北京市中關(guān)村127號</IT:地址>
      <建筑:設(shè)備名>起重機(jī)</建筑:設(shè)備名>
      <建筑:生產(chǎn)商>中聯(lián)重科</建筑:生產(chǎn)商>
      <建筑:地址>湖南省長沙市新開鋪113號</建筑:地址>
   </設(shè)備>
</資料>

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“XML中名稱空間的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

xml
AI