關於XML中的命名空間

2021-06-23 02:53:17 字數 3242 閱讀 5934

xml中的命名空間又被叫做命名空間

命名空間的作用?

為了解決不同領域的xml詞彙的同名衝突和區分識別。(參考底下的示例)

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

命名空間的宣告:

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

命名空間的宣告將名稱字首和uri關聯起來。

命名空間的作用範圍:

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

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

宣告命名空間的元素,稱為包容體(container)。命名空間和字首的關聯關係在包容體的範圍內有效。

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

1、顯式命名空間宣告:xmlns : 字首名 = 「某uri」

例如:根元素 xmlns: xg = 「 >

子元素  attname = 「myname」 />

2、預設命名空間宣告:xmlns = 「某uri」

它沒有字首名,所以在包容體內沒有字首名的xml元素和屬性都屬於預設命名空間。

例如:根元素 xmlns = 「 >

子元素 attname =「myname」 />

注意:盡量只在根元素宣告預設命名空間。若預設命名空間宣告在非根元素,則容易被使用者誤解或忽略成沒有命名空間的元素。所以,非根元素盡量不使用預設命名空間宣告(推薦使用顯式命名空間宣告)。

命名空間的宣告注意:

* 雙引號內必須是乙個uri;

* xml區分大小寫,字首名也不例外;

* 字首名

建議採用英文縮寫,也可以用中文(但不推薦用中文);

* 盡量

避免同名字首

卻對應不同uri

的命名空間的情況,它將容易誤導使用者;

* 盡量在

根元素中宣告

所有的命名空間;

* 如果乙個屬性所在的元素屬於某顯式宣告的命名空間,一般就不需要為該屬性新增字首。

uri(uniform resource identifier):統一格式資源識別符號。

uri

是url

和urn

的超集。

url(uniform resource locater,統一格式資源定位器):用於標記網路上某資源的位置,就是通常所說的**。

urn(uniform 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

=""xmlns:建築

="myurn:中聯"

>

<

裝置 it:

編號="聯想6515b"

建築:編號

="中聯f001"

>

<

it:裝置名

>

筆記本it:裝置名

>

<

it:生產商

>

聯想集團

it:生產商

>

<

it:位址

>

北京市中關村127號

it:位址

>

<

建築:裝置名

>

起重機建築:裝置名

>

<

建築:生產商

>

中聯重科

建築:生產商

>

<

建築:位址

>

湖南省長沙市新開鋪113號

建築:位址

>

設資

關於XML中的命名空間

xml中的命名空間又被叫做命名空間。命名空間的作用?為了解決不同領域的xml詞彙的同名衝突和區分識別。參考底下的示例 注意 命名空間只存在邏輯意義,無法真正實現對uri的引用。命名空間的宣告 放在元素 一般是根元素 的起始標籤內,以類似屬性的形式宣告。命名空間的宣告將名稱字首和uri關聯起來。命名空...

SQL SERVER中XML命名空間

有xml如下 create table a params xml insert into a params values 202014111101 013920130005 name0005 0prod.1000000100088400 msgbody節點聲名了命名空間,用平常的查詢語句是查不到資料...

XML 命名空間

xml 命名空間提供了一種避免元素命名衝突的方法。因為xml文件中使用的元素不是固定的,那麼兩個不同的xml文件使用同乙個名字來描述不同型別的元素的情況就可能發生。而這種情況又往往會導致命名衝突。請看下面兩個例子 這個 xml 文件在table元素中攜帶了水果的資訊 bananas 這個 xml 文...