摘要:XML在電子商務中應用的越來越廣,對XML文檔中的數據如何進行處理以滿足不同用戶的需要,成為一個非常重要的問題,利用XSLT可以很好地解決這個問題。本文簡要介紹了XSL的結構和其各個組成部分,詳細介紹了XML文檔中如何使用XSLT進行數據呈現,并且深入探討了XSLT的工作原理,同時結合一個具體應用實例,進一步闡明了XSLT在XML文檔處理方面的應用。
關鍵詞:XSL;XSLT;XML;文檔處理;電子商務
中圖法分類號:TP393 文獻標識碼:A 文章編號: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 引言
我們已經知道,XML是一種電腦程序間交換原始數據的簡單而標準的方法。它的成功并不在于它容易被人們書寫和閱讀,更重要的是,它從根本上解決了應用系統間的信息交換。因為XML滿足了兩個基本的需求:
1) 將數據和表達形式分離。就象天氣預報的信息可以顯示在不同的設備上,電視,手機或者其它。
2) 在不同的應用之間傳輸數據。電子商務數據交換的與日俱增使得這種需求越來越緊迫
為了使數據便于人們的閱讀理解,我們必須有能夠將一種數據格式轉換為另一種數據格式,比如需求格式可能是一個文本文件,一個SQL語句,一個HTTP信息,一定順序的數據調用等。而XSLT就是我們用來實現這種轉換功能的語言。
2 XSLT
2.1 XSLT的基本概念
XSLT的英文標準名稱為eXtensible Stylesheet Language Transformation,即是用于XML文本的轉換和格式化的標準語言。使用XSL,用一個樣式單文件XSLT,XML文本的信息就可以轉換成多種格式輸出。
2.2 XSLT的工作原理
1) 首先必須要有一個XSLT處理器(目前很多軟件都包含了XSLT的處理器),XSLT處理器掃描整個XML文檔,并將其轉換成一個節點樹。
2) 在將XML文檔映射到節點樹之后,XSLT處理器使用XSLT樣式表處理各個節點。簡單來說,在XSLT樣式表中,templates(模板)規定了如何轉換XML文檔。它由兩部分組成:節點標簽和指令。前者指定將該模板應用到XML文檔的哪個節點上,后者規定如何對XML文檔進行轉換。
3) 最后,利用Web瀏覽器處理,可以把XML轉換成HTML,即可按照所需要的格式顯示XML文檔的內容。圖1描述了XSLT處理器的工作。
2.3 XSLT中常用元素的介紹
1) Stylesheet元素:由于XSLT樣式表包含了轉換XML文檔的指令,因此在XSLT文件中添加了一個聲明來通知瀏覽器這是一個樣式表文件,該聲明稱為樣式表聲明,語法如下:
Stylesheet元素是樣式表的根元素,上面的XSL前綴是XSLT的名稱空間的一個別名,每個XSLT樣式表包含該名稱空間。
2) Value-of元素:該元素顯示了指定元素或者屬性的值。使用語法如下:
在上面的語法中,elementname/attributename表示要顯示值的元素或者屬性的名稱。
Value-of是一個空元素,因此,在結束標簽的尖括號前,你必須使用”/”符號。如果你想要顯示一個屬性的值,你必須在屬性前使用”@”作為一個前綴。
3)
執行動作
在該語法中,pattern是下列各項中的一個:
4) Text元素:text元素允許你早輸出中產生不變的文本。該元素用來顯示標簽。例如為了顯示product name:你可以使用下面的聲明:
5) Template元素:template元素用來定義期望輸出的一個模板。語法如下:
執行動作
6) Apply-template元素;
該元素用來指示XSLT處理器發現一個合適的模板,并且在每個選擇的元素上執行指定的任務。
3 XSLT樣式表應用實例
設下面的XML文檔的名稱為animal.XML,表示動物的基本情況的XML文檔:
對應的XSLT文件如下,設它的名稱為animal.XSL:
在把上面的樣式表文檔作用于XML文檔以后,XML文檔就會以樣式表所設定的格式顯示,顯示結果如下:
Tiger
500 Pounds
就是顯示動物的英文名稱和它的重量,其余的信息和數據就不會顯示出來。
4 結束語
本文主要討論了XSLT的概念、工作原理、基本元素以及XSLT樣式表的創建和對XML文檔的作用,通過樣式表,可以使XML文檔的數據以特定的格式顯示,就不會以一定的層次關系組織,以標簽形式顯示數據,方便我們以我們所需要的方式去查看數據,這就是XSLT這樣的樣式表在XML文檔中的重要意義。
參考文獻:
[1] 吳潔. XML應用教程[M]. 北京:清華大學出版社, 2007.
[2] NII. XML. 海NIIT軟件培訓有限公司[M]. 2003.
[3] 孔夢榮. XML基礎教程[M]. 北京: 清華大學出版社,2008.