IBM認證

當前位置 /首頁/IT認證/IBM認證/列表

XML認證教程:名稱空間

名稱空間是中的各種語言使用的一種程式碼組織的形式。下面小編為大家整理了關於名稱空間的XML認證教程,一起來看看吧:

XML認證教程:名稱空間

  為何引入名稱空間?

XML的用途不是單一的。雖然讀者可能看到編寫只使用一個標記符號集的文件是相當 有用的。

但是,問題是,當混雜和匹配不同的XML應用程式的標記時,可能會發現同一個標記 已用於兩個不同物件。TITLE是指頁標題還是書的標題?ADDRESS是指公司的郵件地 址還是Web站點管理人員的電子郵件地址?名稱空間(namespace)可以解決這些諸 如此類的問題,它是將URI與各標記集相關聯,並在每個元素前加上一個字首,以表 示它屬於哪個標記集。於是,就可以有BOOK:TITLE和HTML:TITLE兩個元素或 POSTAL:ADDRESS和HTML:ADDRESS元素,而不只一類TITLE或ADDRESS。

名稱空間允許文件中的每個元素和特性放在不同的命名域中。

  URI和URL

XML文件可用於Web,正如HTML和其他文件一樣。使用時,也如HTML文件一樣, 被統一資源定位符(Uniform Resource Locator,簡寫為URL)所引用。雖 然URL已被人們廣泛理解並被廣泛支援,但XML規範使用的是更為通用的統一資 源識別符號(Uniform Resource Identifier,簡寫為URI)。URI對於定位 Internet上的資源是更為通用的架構,更為注重資源而不太注重位置。理論上 說,URI可找出映象文件的最為近似的副本或是找出已經從一個站點移動到另一 站點的文件。實際上,URI仍然處於進一步的研究之中,被當前的軟體所唯一支 持的一種URI正是URL。

  用xmlns宣告名稱空間

這個一個宣告名稱空間的例子

xmlns:xsl=""

""是一個URI引用。

URI為統一資源識別符號(Uniform Resource Identifier,簡寫為URI)。 URI對於定位Internet上的資源是更為通用的架構,更為注重資源而不太注重 位置。不過當前的軟體所唯一支援的一種URI正是URL。要注意的是這裡用URI 只是為了宣告一個唯一的名稱空間,並不是真的上的網站去尋找 這個連結。

xsl表明以後如果用到以xsl為字首的名字,那麼它所表示的規則是在名稱空間裡 預先定義好的,如“xsl:value-of”在""這 個名稱空間預置的,它的意義是求值。

  合法名稱

合法名稱的形式應該是:字首部分:本地部分

其中,“字首部分”和“本地部分”都要求是一個合法的XML名稱。字首部分必須 是一個已經經過宣告的名稱空間字首,語法分析器將把它與名稱空間宣告中的 URI引用相聯絡;本地部分則是在DTD或Schema中定義的元素和屬性名。下面 給出一個合法名稱的.例子:

企業經理:姓名

此外,由於名稱空間的宣告方式有直接方式和預設方式兩種,合法名稱也稍有 變化。預設的宣告方式為 xmlns=URI。

由於預設方式宣告的名稱空間就是作用域內的預設名稱空間,因此,在這個作 用域內使用該名稱空間的元素、屬性的合法名稱無須再寫字首部分。這樣一來, 元素的合法名稱看上去和我們前面常用的元素名是一致的。由此可見,我們一直 在使用“合法名稱”,只不過沒有意識到罷了。

  名稱空間作用於元素

合法名稱可以用於起始元素標記、結束元素標記和空元素標記。合法名稱中的字首 部分必須是一個已經宣告過的名稱空間字首,宣告的位置,既可以在使用該字首的 起始元素的標記處,也可以是引用處的父輩元素標記處。名稱空間宣告是作用到說 明它的元素和該元素的所有子元素的,除非被其它名稱空間宣告所覆蓋

例如:

<聯絡人:聯絡人列表 xmlns:聯絡人 ="聯絡人列表">

<聯絡人:聯絡人>

<聯絡人:姓名>張三

<聯絡人:ID>001

<聯絡人:公司>A公司

<聯絡人:

<聯絡人:電話>(010)62345678

<聯絡人:地址>

<聯絡人:街道>五街1234號

<聯絡人:城市>北京

<聯絡人:省份>北京

<聯絡人:直接上級 xmlns:企業經理 ="企業經理">

<企業經理:姓名>王五

<企業經理:電話>

<企業經理:祕書電話>(010)62345678

<企業經理:手機>13601234567

名稱空間"聯絡人列表"的作用域,在除"直接上級"元素範圍以外的任何地方; 而名稱空間"企業經理"的作用域在"直接上級"的各個子元素中。 同樣,預設的名稱空間是作用到宣告它的元素和該元素的子元素的。當然,這裡所 說的元素都是那些沒有名稱空間字首的元素,有了字首的元素仍然遵照字首所指示 的名稱空間。

  名稱空間作用於屬性

同樣,合法名稱也可用於屬性。除了XML預留的屬性(如我們反覆用到的宣告命名 空間的屬性)外,其它屬性都應該使用"合法名稱"。

一個具體的例子如下:

<聯絡人 xmlns:企業經理 = "聯絡人列表">

<姓名 企業經理:文種 = "中文">李華

<電話 企業經理:城市 = "北京">62348765

TAG標籤:XML 名稱 #