曝光臺(tái) 注意防騙
網(wǎng)曝天貓店富美金盛家居專營(yíng)店坑蒙拐騙欺詐消費(fèi)者
• 探討了X M L程序段交換的工作草案規(guī)范,以及如何傳輸帶有環(huán)境信息的X M L程序段,從
而有助于解釋X M L程序段。
• 我們探討了一些現(xiàn)有的X M L查詢語(yǔ)言,并通過(guò)幾個(gè)例子驗(yàn)證了兩個(gè)最新的查詢技術(shù):
X S LT和XPa t h
由于時(shí)間倉(cāng)促,這些技術(shù)很多還沒(méi)有被廣泛應(yīng)用,相信不久的將來(lái)它們肯定會(huì)成為被廣泛
使用的X M L技術(shù)集合的一個(gè)組成部分。如果你已經(jīng)了解了這些技術(shù),當(dāng)它們變得實(shí)用的時(shí)候,
將會(huì)使你在未來(lái)的競(jìng)爭(zhēng)中更具優(yōu)勢(shì)。
第8章鏈接和查詢使用309 下載
下載
第9章轉(zhuǎn)換XML
有人將X M L說(shuō)成一種文檔格式。有人將它說(shuō)成一種存儲(chǔ)數(shù)據(jù)的分級(jí)模式。按照其他的標(biāo)準(zhǔn),
一個(gè)X M L文檔可以被理解為通過(guò)一種網(wǎng)絡(luò)化的處理機(jī)構(gòu)來(lái)遍歷數(shù)據(jù)。每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)存儲(chǔ)或處理
數(shù)據(jù)并且將結(jié)果傳輸傳給相鄰的節(jié)點(diǎn)。在這個(gè)世界里,一個(gè)X M L文檔是一種流過(guò)或流在一個(gè)網(wǎng)
絡(luò)中的應(yīng)用中的數(shù)據(jù)。然而,我們看到,任何X M L文檔都是元素的匯集。這些元素是按某種方
案組織的(無(wú)論是顯式的,即通過(guò)使用D T D或其他的標(biāo)準(zhǔn),還是隱式的,即沒(méi)有一個(gè)定義過(guò)的
標(biāo)準(zhǔn)),并且也可能是一種分級(jí)命令。我們也可以說(shuō)X M L文檔是一個(gè)序列化版本的分級(jí)命令—
一種用于在處理機(jī)構(gòu)之間交換信息的文本。然而,在內(nèi)部,這些處理機(jī)構(gòu)并不使用序列化的版
本(X M L文檔)而是使用更便于工作的內(nèi)部表示。
如果X M L真能夠幫助我們,來(lái)創(chuàng)建可相互跨越平臺(tái)的與不同應(yīng)用之間相互交流的復(fù)雜的應(yīng)
用,并且我們真的想重用使用X M L標(biāo)識(shí)出的數(shù)據(jù),共享那些使用X M L作為一種通用格式的數(shù)據(jù)
的話,則需要為那些沒(méi)有對(duì)他們的數(shù)據(jù)使用相同命令的人和應(yīng)用做一些準(zhǔn)備。在這一章,我們
將考查一下有哪些方法可以將我們的數(shù)據(jù)轉(zhuǎn)換為另一種X M L詞匯表的數(shù)據(jù),或只是重新排列一
下我們的數(shù)據(jù)。
在這一章,我們將重點(diǎn)放在處理X M L的轉(zhuǎn)換方面。轉(zhuǎn)換X M L有很多的原因,所以在這一章,
先首先看一下為什么和什么時(shí)候要將X M L轉(zhuǎn)換為另一種格式。我們主要使用X S L轉(zhuǎn)換方式,盡
管將在本章的最后討論其他轉(zhuǎn)換的方法。
在X M L領(lǐng)域中關(guān)于可用的不同的轉(zhuǎn)換方法已經(jīng)引起了激烈的爭(zhēng)論。不同的程序員通常喜歡
用不同的解決方法來(lái)處理轉(zhuǎn)換X M L,所以,我們將看一下下面的可選方法中的一些觀點(diǎn),這樣
你可以決定使用哪一種方法(我們假設(shè)在讀過(guò)的第5章后你已經(jīng)熟悉D O M,或者已經(jīng)正在使用
它)。
在看完了為什么需要轉(zhuǎn)換文檔的幾個(gè)原因之后,我們將繼續(xù)看一下使用X S LT作為轉(zhuǎn)換語(yǔ)言。
我們將向你介紹基本的語(yǔ)法,讓你通過(guò)使用X S L來(lái)轉(zhuǎn)換文檔。這將包括一個(gè)將書(shū)的命令轉(zhuǎn)換為
一種新命令的例子。注意這個(gè)轉(zhuǎn)換要求X P a t h的知識(shí),它是一個(gè)在X S LT中使用的規(guī)格說(shuō)明,用
來(lái)指定一個(gè)X M L文件的特別部分。X P a t h已經(jīng)在前面的章節(jié)中詳細(xì)地說(shuō)明了。一旦我們看過(guò)了
X S LT,我們將看一下如何使用D O M和腳本來(lái)修改同一本書(shū)列表的命令。在看過(guò)更多的動(dòng)態(tài)文檔
之后,我們將使用所學(xué)的這章X S L部分和更早的D O M章節(jié)中的知識(shí),根據(jù)用戶的交互作用,創(chuàng)
建一個(gè)重新排列過(guò)表格內(nèi)容的文檔。然后我們將比較兩種轉(zhuǎn)換方法。為了將轉(zhuǎn)換包裝起來(lái),我
們將看一下什么時(shí)候你可能會(huì)考慮使用不同的方法。總共這一章將涉及:
• 為什么X M L轉(zhuǎn)換是必要的。
• 關(guān)于X S LT語(yǔ)法的介紹。
• 使用X S LT來(lái)轉(zhuǎn)換靜態(tài)文檔的一個(gè)例子。
• 使用X S LT來(lái)轉(zhuǎn)換更多的動(dòng)態(tài)X M L文檔。
這個(gè)將把你帶到為所需要處理的X M L文檔選擇轉(zhuǎn)換類型的位置上來(lái),并且教給你在不同轉(zhuǎn)
換類型背后的核心原則。
9.1 為什么轉(zhuǎn)換XML
如果我們使用X M L來(lái)存儲(chǔ)基于文本的文件,或者我們接收由其他類型的程序生成的X M L,
它是一種混合格式。因?yàn)閄 M L是一種平臺(tái)獨(dú)立的,并且可以在應(yīng)用中的不同部分之間被轉(zhuǎn)換,
這就經(jīng)常出現(xiàn)人們要求以不同的命令來(lái)處理信息。另外,我們可能經(jīng)常需要根據(jù)一個(gè)變動(dòng)的交
互文檔轉(zhuǎn)換文檔的命令。例如,根據(jù)一個(gè)用戶的要求或選擇進(jìn)行文檔的重構(gòu)。轉(zhuǎn)換一般屬于下
面三個(gè)方面之一:
• 命令的轉(zhuǎn)換—從一種X M L術(shù)語(yǔ)轉(zhuǎn)換成另一種,就像翻譯一樣。例如兩種金融標(biāo)識(shí)語(yǔ)言
F P M L和f i n M L的例子。
• 創(chuàng)建動(dòng)態(tài)文檔—允許用戶對(duì)文檔進(jìn)行重組、過(guò)濾和部分排序,就像允許用戶點(diǎn)擊一個(gè)表
格列的頭對(duì)內(nèi)容進(jìn)行排序一樣。
• 轉(zhuǎn)換成另一種解釋語(yǔ)言—準(zhǔn)備提交給用戶用在一些瀏覽器上,如WA P(無(wú)線應(yīng)用協(xié)議,
Wireless Application Protocol)、H T M L、V O X M L或S V G(可變向量圖形,Scalable Ve c t o r
G r a p h i c s)。
讓我們按順序看一下每一部分。
9.1.1 在不同詞匯表之間轉(zhuǎn)換
如果我們?cè)倏紤]一下在第2章中用X M L標(biāo)識(shí)出的書(shū)的目錄,可能對(duì)目錄數(shù)據(jù)存在著許多潛在
的應(yīng)用。例如,Wr o x可能在它的站點(diǎn)上或內(nèi)部網(wǎng)中使用這些書(shū)的一個(gè)目錄,使用在第3章我們所
創(chuàng)建的D T D。與此同時(shí),幾家書(shū)店也幾乎要求相同的信息。這個(gè)聽(tīng)上去像是一個(gè)關(guān)于X M L的理
想工作。然而,如果不同的書(shū)店使用不同的D T D來(lái)標(biāo)識(shí)相同的數(shù)據(jù),我們需要一種方法來(lái)將數(shù)
據(jù)轉(zhuǎn)換成同他們相兼容的版本。
例如,w w w. w r o x . c o m站點(diǎn)可能使用下面的p u b C a t a l o g . d t d來(lái)進(jìn)行標(biāo)識(shí),這是在第3章中我們
遇到過(guò)的:
程序清單9 - 1
然而,XYZBooks Inc.可能要求一種不同格式的數(shù)據(jù),就像:
第9章轉(zhuǎn)換XML使用311 下載
程序清單9 - 2
正如你所見(jiàn),兩個(gè)< B o o k >元素的屬性有著自己的規(guī)則: < I S B N >和< P u b d a t e >。再?gòu)?qiáng)調(diào)一次,
為了按兩種格式準(zhǔn)備和存儲(chǔ)數(shù)據(jù),我們只能將一種轉(zhuǎn)換格式到另一種。
這僅僅是我們需要轉(zhuǎn)換X M L詞匯表為另一種格式的例子中的一個(gè),我想你可能想出更多的
例子來(lái)。在電子商務(wù)中,這類的轉(zhuǎn)換被認(rèn)為是非常重要,不同的公司可能需要它們的數(shù)據(jù)的格
式不同。另一方面,我們可能甚至決定更新某個(gè)已經(jīng)存在的應(yīng)用,需要轉(zhuǎn)換舊的X M L(現(xiàn)在對(duì)
中國(guó)航空網(wǎng) www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML高級(jí)編程上(105)