曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
• 關于要聲明命名空間的絕對U R I。必須全部或者單項列出這個特性及子特性(下面要詳述
的)。
• 構成屬性值內容的一系列關于字符信息項目的有序字符序列引用。這還包括實體開始標志
和實體結束標志以表明實體引用的區域。這個特性或者絕對U R I特性(或者全部)必須存
在。W 3 C已經加上這個特性,以便于以后能夠運用非U R I命名空間。
8.1.2 信息集合的重要性
如果這些“信息項目”和“特性”聽起來比較熟悉,實際上,它們應該是與D O M里的項目
完全相同的(在第5章詳述)。事實上, W 3 C詳述過的所有進入X M L文檔的多種技術—X M L
D O M,XLi n k,X P a t h,X P o i n t e r,以及X S LT—都是從X M L信息集合描述過的基礎結構得來
的。為了充分利用這些技術提供的功能,你必須拋開認為X M L文檔是文本流的想法,而應該結
合這些對象考慮它們。
最后,盡管信息集合為對象之間的連接提供了詳細說明,它卻沒有詳細說明任何特殊實現。
我們將要討論的技術用樹結構來表示這些對象,還可以確切地把它們表示為帶有指針的對象流
—事實上,這也是大多數事件驅動處理程序的運作的方式。讓我們看一個例子。假設有下面
這個文檔(你現在應該已經熟悉)—我將會放進c o l o r屬性來修飾一下:
程序清單8 - 1 8
248使用XML 高級編程
下載
圖8 - 1是這個文檔的一個樹結構表示:
圖8-1
然而,I n f o s e t還可以允許用表8 - 1中的形式表示文檔:
表8 - 1
信息項目I D 信息項目類型屬性
1 文檔子列表:2
2 元素U R I:空本地名: C a t a l o g子列表: 3屬性集:空
3 元素U R I:空本地名: B o o k子列表:6 , 8 , 1 0 , 1 2 , 1 9屬性集:4
4 屬性U R I:空本地名:屬性的彩色Te x t:5
5 文本值:“r e d”
第8章鏈接和查詢使用249 下載
文檔
元素
元素
屬性: color 元素: Title 元素: Pages 元素: ISBN 元素:
R e c S u b j C a t e g o r i e s
元素: Price
文本: "$49.95"
元素: Catagory
文本: "Web 文本: "XML"
文本: "Internet" Publishing"
文本: "red" 文本: "IE5 XML
Program..."
文本: "1-861001-
57-6" 文本: "480"
元素: Catagory 元素: Catagory
(續)
信息項目I D 信息項目類型屬性
6 元素U R I:空本地名:Ti t l e子列表:7屬性集空
7 文本值:“IE5 XML Programmer’s Reference”
8 元素U R I:空本地名: P a g e s子列表:9屬性集:空
9 文本值:4 8 0
1 0 元素U R I:空本地名: I S B N子列表: 11屬性集:空
11 文本值:“1 - 8 6 1 0 0 1 - 5 7 - 6”
1 2 元素U R I:空本地名:R e c S u b j C a t e g o r i e s子列表:13, 15, 17屬性集:
空
1 3 元素U R I:空本地名: C a t e g o r y子列表:1 4屬性集:空
1 4 文本值:“I n t e r n e t”
1 5 元素U R I:空本地名: C a t e g o r y子列表:1 6屬性集:空
1 6 文本值:“Web Publishing”
1 7 元素U R I:空本地名: C a t e g b r y子列表:1 8屬性集:空
1 8 文本值:“X M L”
1 9 元素U R I:空本地名: P r i c e子列表:2 0屬性集:空
2 0 文本值:“$ 4 9 . 9 9”
8.1.3 小結
為了用W 3 C詳細描述的各種技術訪問和操作X M L文檔,你首先需要了解W 3 C在I n f o s e t規范
中所定義的分區。一旦你能夠從根據內容而考慮X M L文檔轉向根據鏈接的信息項目而考慮它們,
就會發現通過鏈接和查詢機制訪問X M L文檔變得非常直接和自然。這些技術使用在I n f o s e t里描
述的信息集合項目信息來控制和訪問X M L文檔的,它們依賴于這些用來瀏覽文檔的項目里表示
的父-子信息。
8.2 鏈接
讓我們看一下怎樣才能通過運用鏈接把X M L功能擴展到外部資源上,諸如其他X M L文檔、
H T M L文檔甚至圖像。正如我們將會看到的,我們可以用鏈接去定義相似文檔之間的關系,確定
瀏覽文檔的順序,甚至在一個X M L文檔中內嵌入非X M L內容。
8.2.1 什么是鏈接
如果你使用過H T M L,一定熟悉超鏈接的概念。你能指定一個錨( a n c h o r),使其起著鏈接
到另一個文檔的作用:
這個聲明告訴我們兩件事:第一,它表明了文本Book catalog是兩個資源之間連接的開始(因
為它包括在一個含有H R E F屬性的A標記中)。第二,它表明URL www. w r o x . c o m / C a t a l o g / C a t a l o g
h t m l是相同連接的目標。這是關于鏈接的一個簡單的例子—資源之間的一個連接。X M L鏈接與
250使用XML 高級編程
下載
H T M L鏈接相似,只是在功能上更強大、更具靈活性(我們將會在后面看到)。
1. 概念上的鏈接和顯示的區別
注意上面的內容通常以某種方式突出顯示連接的開始處(加下劃線,改變它的顏色,等等),
通過單擊鼠標實現對目標內容的瀏覽。但是這種行為沒有明確地定義在H T M L規范里—一個內
容顯示引擎能自由地以任何方式進行表現。如果你想理解X M L鏈接的工作方式,理解鏈接與顯
示的差別非常重要,因為X M L鏈接規范只提供一個概念模型。
2. HTML鏈接問題
我們以前曾提到H T M L鏈接與XLi n k相比非常不靈活。特別是, H T M L錨鏈接有下面缺點:
(1) HTML鏈接內嵌在源文檔里
這個限制防止我們在標記為不能編輯的文檔之外建立鏈接,例如,一個文檔不提供原始標
記能力(比如圖像文件)。如果在某種程度上能夠讓鏈接離開它們引用的文檔,我們就能構造一
個自己的鏈接庫(在一個鏈接數據庫或文件),它將我們的內容連接在一起,但受中心位置管理。
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML高級編程上(89)