擴展樣式錶轉換語言

擴展樣式錶轉換語言

可擴展樣式錶轉換語言(Extensible Stylesheet Language Transformation,XSLT)是XSL樣式表的一個組成部分,用於將XML轉換為其他形式的文檔,如XML、HTML、文本文檔等。

基本介紹

  • 中文名:擴展樣式錶轉換語言
  • 外文名:Extensible Stylesheet Language Transformation
  • 簡稱:XSLT
  • 作用:用於將XML轉換為其他形式的文檔
  • 數據轉換:XML源文檔、目標文檔和XSLT文檔
  • 套用學科:計算機原理
概述,XSLT的數據轉換模型,XSLT處理程式工作機理,

概述

每個XSLT程式由若干個模板規則組成,每個模板規則又由兩部分組成:一個用於匹配源數據樹的節點,另一個用於形成結果樹。XSLT使用XPath完成XML數據元素的獲取、處理以及結構檔案的形成。XSLT通過對XML文檔中的數據進行提取、排序、過濾、編輯、重組等操作來將XML文檔從一種格式轉換為另一種格式,從而實現數據的轉換。
XML文檔具有樹型的嵌套結構,但是信息本身可以有多種組織結構。通過XSLT引擎可以實現從現有XML文檔建立新的結構化文檔的方法。XSLT並不是一種程式語言,因此它的實現方法是給出實例,而不是描述執行過程。開發者要做的是把模板提供給引擎,並指明在進行轉換時何時何地使用模板。在模板中可以加入指令,告訴引擎從一個或多個輸入檔案中自動搜尋信息,並插入模板中的空位。XSLT的數據轉換方法通過外置於異構系統的XSLT文檔來實現,實現了轉換程式和轉換處理器的分離。當需要集成異構的仿真系統時或者數據結構發生變化時,只需要修改外置的XSLT文檔,增強系統的可擴展性和可維護性。

XSLT的數據轉換模型

XSLT數據轉換通常涉及三個文檔,即XML源文檔、目標文檔和XSLT文檔。其中XML源文檔和XSLT文檔是輸入文檔,而目標文檔是輸出文檔。目標文檔可以是XML文檔、HTML文檔、文本文檔等多種形式的輸出文檔。XSLT文檔只是說明如何轉換XML文檔,真正執行轉換工作的是XSLT處理器。
擴展樣式錶轉換語言
XSLT處理器將XML文檔解析為一個節點樹,並根據XSLT模板規則對每一個節點進行數據轉換。每一個節點都擁有自己的數據表現格式,一般由屬性和子節點組成,從而形成一個獨立的數據。採用面向對象的思想來分析,每一個節點就是一個對象實例。節點屬性和子節點均作為對象的靜態描述。節點屬性是一種字元串類型的數據,而子節點是一種類結構的數據類型,其本身也是一種對象實例。這裡需要注意的是對象沒有動態描述。在目標文檔中數據不一定以節點樹的形式來組織。當目標文檔是文本文檔時,數據的存在形式是一般的集合。
擴展樣式錶轉換語言
XSLT對數據進行轉換的實質是將一個數據集合,通過XSLT規則映射成為另一個數據集合的過程。在XSLT仿真數據轉換模型中,可以定義以下幾個概念:
(1)源集:在XML源文檔中的未經處理的待轉換的數據節點集合。
(2)目標集:由XML源文檔中的數據按照一定規則轉換而來的保存於目標文檔中的數據集合。
(3)映射:位於XSLT文檔中的用於將源集中的仿真數據轉換為目標集中的數據的轉換規則。

XSLT處理程式工作機理

比較典型的XSLT處理程式主要有Xalan、Saxon和MSXML。XSLT處理程式的工作如下:
(1)作為DOM樹載入輸入文檔。
(2)對輸入樹進行深度優先的遍歷。
(3)遍歷文檔的過程中,為當前節點在樣式表中選擇一個模板。
(4)套用該模板,模板描述了如何在輸出樹中創建0個、1個或多個節點。
(5)遍歷完成時,按照輸入樹和模板中的規則生成一棵新樹(輸出樹)。
(6)根據HTML或者XML語法寫入輸出樹。

相關詞條

熱門詞條

聯絡我們