摘要:XML在電子商務(wù)中應(yīng)用的越來(lái)越廣,對(duì)XML文檔中的數(shù)據(jù)如何進(jìn)行處理以滿足不同用戶的需要,成為一個(gè)非常重要的問(wèn)題,利用XSLT可以很好地解決這個(gè)問(wèn)題。本文簡(jiǎn)要介紹了XSL的結(jié)構(gòu)和其各個(gè)組成部分,詳細(xì)介紹了XML文檔中如何使用XSLT進(jìn)行數(shù)據(jù)呈現(xiàn),并且深入探討了XSLT的工作原理,同時(shí)結(jié)合一個(gè)具體應(yīng)用實(shí)例,進(jìn)一步闡明了XSLT在XML文檔處理方面的應(yīng)用。
關(guān)鍵詞:XSL;XSLT;XML;文檔處理;電子商務(wù)
中圖法分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2009)03-1253-02
The Application of XSLT in the XML Document
HONG Xin-hua, XIA Qun-bing
(Dept. of Computer Science, Hunan Vocational Technological Academy of Creature and Equipment and Electric Power Equipment, Changsha 410126, China)
Abstract:XML in e-commerce has become an increasingly widespread application of XML data document how to deal with in order to meet the needs of different users and become a very important issue, the use of XSLT can solve this problem. This article briefly introduce the structure of the XSL and its various components, described in detail how to use the XML document XSLT data presented, and in-depth exploration into the working principle of XSLT, combined with a specific application examples, and further clarified the application of the XSLT in the XML document.
Key words: XS; XSLT; XML; document processing; e-commerce
1 引言
我們已經(jīng)知道,XML是一種電腦程序間交換原始數(shù)據(jù)的簡(jiǎn)單而標(biāo)準(zhǔn)的方法。它的成功并不在于它容易被人們書(shū)寫(xiě)和閱讀,更重要的是,它從根本上解決了應(yīng)用系統(tǒng)間的信息交換。因?yàn)閄ML滿足了兩個(gè)基本的需求:
1) 將數(shù)據(jù)和表達(dá)形式分離。就象天氣預(yù)報(bào)的信息可以顯示在不同的設(shè)備上,電視,手機(jī)或者其它。
2) 在不同的應(yīng)用之間傳輸數(shù)據(jù)。電子商務(wù)數(shù)據(jù)交換的與日俱增使得這種需求越來(lái)越緊迫
為了使數(shù)據(jù)便于人們的閱讀理解,我們必須有能夠?qū)⒁环N數(shù)據(jù)格式轉(zhuǎn)換為另一種數(shù)據(jù)格式,比如需求格式可能是一個(gè)文本文件,一個(gè)SQL語(yǔ)句,一個(gè)HTTP信息,一定順序的數(shù)據(jù)調(diào)用等。而XSLT就是我們用來(lái)實(shí)現(xiàn)這種轉(zhuǎn)換功能的語(yǔ)言。
2 XSLT
2.1 XSLT的基本概念
XSLT的英文標(biāo)準(zhǔn)名稱(chēng)為eXtensible Stylesheet Language Transformation,即是用于XML文本的轉(zhuǎn)換和格式化的標(biāo)準(zhǔn)語(yǔ)言。使用XSL,用一個(gè)樣式單文件XSLT,XML文本的信息就可以轉(zhuǎn)換成多種格式輸出。
2.2 XSLT的工作原理
1) 首先必須要有一個(gè)XSLT處理器(目前很多軟件都包含了XSLT的處理器),XSLT處理器掃描整個(gè)XML文檔,并將其轉(zhuǎn)換成一個(gè)節(jié)點(diǎn)樹(shù)。
2) 在將XML文檔映射到節(jié)點(diǎn)樹(shù)之后,XSLT處理器使用XSLT樣式表處理各個(gè)節(jié)點(diǎn)。簡(jiǎn)單來(lái)說(shuō),在XSLT樣式表中,templates(模板)規(guī)定了如何轉(zhuǎn)換XML文檔。它由兩部分組成:節(jié)點(diǎn)標(biāo)簽和指令。前者指定將該模板應(yīng)用到XML文檔的哪個(gè)節(jié)點(diǎn)上,后者規(guī)定如何對(duì)XML文檔進(jìn)行轉(zhuǎn)換。
3) 最后,利用Web瀏覽器處理,可以把XML轉(zhuǎn)換成HTML,即可按照所需要的格式顯示XML文檔的內(nèi)容。圖1描述了XSLT處理器的工作。
2.3 XSLT中常用元素的介紹
1) Stylesheet元素:由于XSLT樣式表包含了轉(zhuǎn)換XML文檔的指令,因此在XSLT文件中添加了一個(gè)聲明來(lái)通知瀏覽器這是一個(gè)樣式表文件,該聲明稱(chēng)為樣式表聲明,語(yǔ)法如下:
Stylesheet元素是樣式表的根元素,上面的XSL前綴是XSLT的名稱(chēng)空間的一個(gè)別名,每個(gè)XSLT樣式表包含該名稱(chēng)空間。
2) Value-of元素:該元素顯示了指定元素或者屬性的值。使用語(yǔ)法如下:
在上面的語(yǔ)法中,elementname/attributename表示要顯示值的元素或者屬性的名稱(chēng)。
Value-of是一個(gè)空元素,因此,在結(jié)束標(biāo)簽的尖括號(hào)前,你必須使用”/”符號(hào)。如果你想要顯示一個(gè)屬性的值,你必須在屬性前使用”@”作為一個(gè)前綴。
3)
執(zhí)行動(dòng)作
在該語(yǔ)法中,pattern是下列各項(xiàng)中的一個(gè):
4) Text元素:text元素允許你早輸出中產(chǎn)生不變的文本。該元素用來(lái)顯示標(biāo)簽。例如為了顯示product name:你可以使用下面的聲明:
5) Template元素:template元素用來(lái)定義期望輸出的一個(gè)模板。語(yǔ)法如下:
執(zhí)行動(dòng)作
6) Apply-template元素;
該元素用來(lái)指示XSLT處理器發(fā)現(xiàn)一個(gè)合適的模板,并且在每個(gè)選擇的元素上執(zhí)行指定的任務(wù)。
3 XSLT樣式表應(yīng)用實(shí)例
設(shè)下面的XML文檔的名稱(chēng)為animal.XML,表示動(dòng)物的基本情況的XML文檔:
對(duì)應(yīng)的XSLT文件如下,設(shè)它的名稱(chēng)為animal.XSL:
在把上面的樣式表文檔作用于XML文檔以后,XML文檔就會(huì)以樣式表所設(shè)定的格式顯示,顯示結(jié)果如下:
Tiger
500 Pounds
就是顯示動(dòng)物的英文名稱(chēng)和它的重量,其余的信息和數(shù)據(jù)就不會(huì)顯示出來(lái)。
4 結(jié)束語(yǔ)
本文主要討論了XSLT的概念、工作原理、基本元素以及XSLT樣式表的創(chuàng)建和對(duì)XML文檔的作用,通過(guò)樣式表,可以使XML文檔的數(shù)據(jù)以特定的格式顯示,就不會(huì)以一定的層次關(guān)系組織,以標(biāo)簽形式顯示數(shù)據(jù),方便我們以我們所需要的方式去查看數(shù)據(jù),這就是XSLT這樣的樣式表在XML文檔中的重要意義。
參考文獻(xiàn):
[1] 吳潔. XML應(yīng)用教程[M]. 北京:清華大學(xué)出版社, 2007.
[2] NII. XML. 海NIIT軟件培訓(xùn)有限公司[M]. 2003.
[3] 孔夢(mèng)榮. XML基礎(chǔ)教程[M]. 北京: 清華大學(xué)出版社,2008.