曝光臺(tái) 注意防騙
網(wǎng)曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費(fèi)者
見圖8 - 3)。
圖8-3
你應(yīng)該牢記這一點(diǎn),當(dāng)我們討論擴(kuò)展鏈接時(shí),會(huì)發(fā)現(xiàn)它的重要性。X L i n k是對(duì)位置而不是資
源進(jìn)行操作的—資源的缺省位置為“ t o p”,但是資源類型也恰好采用這種定義。
4. 簡單鏈接的例子
在我們繼續(xù)討論之前,先簡要看兩個(gè)例子:
程序清單8 - 2 3
254使用XML 高級(jí)編程
下載
資源1 資源2
源目標(biāo)
源
目標(biāo)
資源1
這個(gè)例子創(chuàng)建了一個(gè)標(biāo)題為Author list的鏈接,使用戶知道有一個(gè)與之相關(guān)的鏈接信息(可
以像H T M L文檔一樣為之加上下劃線)。當(dāng)使用者擊活這個(gè)鏈接,文檔就會(huì)在新的上下文環(huán)境中
打開。
程序清單8 - 2 4
這個(gè)例子說明,當(dāng)源文檔開始被提出來時(shí),文檔a u t h o r s . x m l應(yīng)在源文檔的鏈接位置被表示出
來(記住這實(shí)際上應(yīng)該由用戶代理來決定如何對(duì)待鏈接,所以可能會(huì)有些變化)。
值得注意的是現(xiàn)在有些把show 和a c t u a t e結(jié)合起來,而這并沒有多大的意義,例如:
xlink:show =“r e p a l c e”和x l i n k : a c t u a t e =“o nLo a d”。這樣會(huì)潛在造成一個(gè)文檔到另一個(gè)文檔的
重復(fù)定向,但是如果兩個(gè)這樣的鏈接同時(shí)出現(xiàn)在嚴(yán)格源文檔中,應(yīng)該會(huì)出現(xiàn)什么樣的情形呢?
對(duì)于所有特殊的顯示行為, W 3 C并沒有試圖去闡明在類似于這些的情景中,一個(gè)表達(dá)行為應(yīng)該
是怎樣的,相信時(shí)間會(huì)告訴我們?nèi)绾问褂锰囟ǖ墓ぞ呷ソ鉀Q這個(gè)問題。
5. 擴(kuò)展鏈接
對(duì)XLi n k來說,另外一種鏈接方式稱為擴(kuò)展鏈接。擴(kuò)展鏈接允許把多個(gè)資源鏈接在一起,它
們會(huì)被指定為(也就是說,在一個(gè)不是源文檔的文檔中)。讓我們看一下擴(kuò)展鏈接的語法。
這里定義了一個(gè)擴(kuò)展鏈接:
程序清單8 - 2 5
注意我們有四種類型的子元素: < x l i n k : t i t l e > 、< x l i n k : a r c > 、< x l i n k : l o c a t o r >和
< x l i n k : r e s o u r c e >,稍后我們?cè)儆懻撨@些子元素。下面的屬性可能與一個(gè)擴(kuò)展鏈接相關(guān):
(1) xlink:type
對(duì)于擴(kuò)展鏈接來說,該屬性總是屬于擴(kuò)展的。如果你聲明了一個(gè)擴(kuò)展XLi n k元素,那么這個(gè)
擴(kuò)展元素的名字應(yīng)該是< x l i n k : e x t e n d e d >。
(2) xlink:role
該屬性和簡單鏈接元素行使同樣的功能。
(3) xlink:title
該屬性和簡單鏈接元素行使著同樣的功能。
第8章鏈接和查詢使用255 下載
注意對(duì)于鏈接的目標(biāo)元素來說并沒有明確的標(biāo)準(zhǔn)—因?yàn)闆]有h r e f屬性。實(shí)際上,數(shù)據(jù)源也
沒有定義—不像簡單鏈接,擴(kuò)展鏈接并不意味著它們的數(shù)據(jù)源是鏈接所處的文檔。為了指明
參與鏈接的不同位置及鏈接之間的連接,我們有必要使用兩個(gè)子元素< x l i n k : l o c a t i o n >和
< x l i n k : a r c >。
(4) <xlink:title>元素
這個(gè)元素用來把擴(kuò)展鏈接與語義信息相關(guān)聯(lián),例如:一個(gè)鏈接和菜單的不同頁碼相關(guān)聯(lián),
可能具有值為“ M e n u”的< x l i n k : t i t l e >元素。這個(gè)信息的使用由處理器來完成—XLi n k規(guī)范并
沒有規(guī)定該信息的使用。可以指定多個(gè)標(biāo)題(例如,一個(gè)X M L文檔正在被國際化)。
這里是< x l i n k : t i t l e >元素的定義:
程序清單8 - 2 6
其中一個(gè)屬性x m l : l a n g,就是用來為國際化目的指定一種語言。
(5) <xlink:locator>元素
這些總是作為擴(kuò)展鏈接的子元素出現(xiàn)的,它們用來指定參與擴(kuò)展鏈接的定位。例如,如果
我們?cè)谖鍌(gè)不同的數(shù)據(jù)源之間采用鏈接(比如說,菜單的5個(gè)頁碼),那么參與鏈接的這五個(gè)子
元素每個(gè)將有一個(gè)定位子元素。
這里是< x l i n k : l o c a t o r >元素的定義:
程序清單8 - 2 7
正如你所看到的,在這里你可以指定位置的U R I以及它的文本名稱和大致功能。這些屬性發(fā)
揮著它們?cè)诤唵芜B接中同樣的功能。
注意:一個(gè)定位并不是顯式地指定一個(gè)鏈接—它僅僅指定一個(gè)參與鏈接的位置。為了定
義定位之間顯式的鏈接,我們需要使用< x l i n k : a r c >元素。
(6) <xlink:arc>元素
這些也總是作為擴(kuò)展鏈接的子元素出現(xiàn)的,用來定義參與擴(kuò)展鏈接的兩個(gè)定位之間的連接。
這里是< x l i n k : a r c >元素的定義:
程序清單8 - 2 8
256使用XML 高級(jí)編程
下載
s h o w和a c t u a t e屬性發(fā)揮著它們?cè)诤唵芜B接中同樣的功能:它們定義鏈接如何被初始化和顯
示。如果不指定這些屬性,應(yīng)該由部分實(shí)現(xiàn)來決定如何橫貫這些a r c,這里有兩個(gè)新屬性:
(7) xlink:from
這個(gè)元素是定義鏈接起始點(diǎn)的< x l i n k : l o c a t o r >和< x l i n k : r e s o u r c e >元素的r o l e屬性的值。顯式
定義了連接的數(shù)據(jù)源能夠使我們創(chuàng)建外聯(lián)數(shù)據(jù)庫,就如我們本章后面所見到的。
(8) xlink:to
這個(gè)元素是定義鏈接截止點(diǎn)的< x l i n k : l o c a t o r >和< x l i n k : r e s o u r c e >元素的r o l e屬性的值。
注意擴(kuò)展鏈接中現(xiàn)在有不止一個(gè)的定位和資源具有相同的r o l e,一個(gè)定義于r o l e上的a r c會(huì)把
所有具有role 的定位連接起來。例如,假如說我們有下面的文檔:
程序清單8 - 2 9
擴(kuò)展鏈接定義了下面的連接:
程序清單8 - 3 0
(9) <xlink:resource>元素
這些是作為擴(kuò)展鏈接的子元素出現(xiàn)的,是用來定義鏈接的本地(內(nèi)聯(lián))部分(添加到
< x l i n k : l o c a t o r >元素,用來指定連接的外聯(lián)部分)。這些元素具有r o l e和t i t l e屬性,具有一個(gè)A N Y
的內(nèi)容類型,而這個(gè)內(nèi)容的用途不是由XLi n k規(guī)范所定義的。
下面是< x l i n k : r e s o u r c e >元素的定義:
第8章鏈接和查詢使用257 下載
程序清單8 - 3 1
(10) 隱式與顯式A r c s
注意:查看一下參與擴(kuò)展鏈接的位置列表可決定某些連接信息,假如我們聲明了一個(gè)擴(kuò)展
中國航空網(wǎng) www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML高級(jí)編程上(91)