XSLT的學習一

2021-05-23 03:25:01 字數 2679 閱讀 7872

xslt樣式單文件舉例

下面是乙個具體的xslt樣式單文件:

<?xml version="1.0" encoding="gb2312" ?> 

學生花名冊

姓名

籍貫

年齡

**

模板在xslt中的應用

將上例的xml文件用xsl樣式轉換為html文件的步驟是:先用xml直譯器將xml文件解釋成dom物件,相當於建立了原文件的乙個節點樹。然後用xml直譯器解釋xsl文件,用模板匹配的方法去遍歷xml節點樹,將樹中的節點按模板的設定轉換為模板指示的顯示語言,即html語言。

接著介紹xslt常用的幾條語句。

分析xslt**執行過程

在作過xml宣告和xsl宣告之後,系統最先匹配xml源樹的根節點。根節點用"/"表示,它的匹配方法在一對括起的原始碼中宣告。按照這段**,首先生成帶有樣式資訊的html文件的開頭一段**:

學生花名冊

姓名

籍貫

年齡

**

note: from envykok

現在,系統又接到了新的指示 。這條指示要求系統尋找標記為「student」的子節點,並按照「名字」下的內容將這些節點排序,然後一一處理。

對於每乙個「學生」子樹中的內容,系統為其生成表中一行的內容。每一行包含四列,分別把標記為「名字」、「籍貫」、「年齡」、「**號碼」的子節點的內容填進去。其中「名字」下的內容還是粗體顯示。對應到本例中的xml資料,生成的html**為:

李華

河北1562875555

張三

北京1482873425

處理完中的內容,系統繼續生成html**:

至此,系統已處理完中的所有內容,可以「函式返回」了。系統返回到括起的原始碼中,完成html最後兩行**的生成:

把上面的html**串起來,就是生成的轉換結果檔案。

元素與屬性建立

xslt是乙個動態的樣式單,在處理過程中可產生新的元素或元素屬性,方法如下:

內 容元 素

舉 例轉換結果

建立元素

xsl:element

學生花名冊

學生花名冊

建立屬性

xsl: attribute

color:blue 學生花名冊

學生花名冊

建立文字

xsl:text (可以保護文字中的空白字元)

這是學生花名冊

這是學生花名冊

建立處理指令

xsl:processing-instruction

href="book.css" type="text/css"

<?xml-stylesheet href="book.css" type="text/css"?>

建立注釋

xsl:comment

以下是學生花名冊,請勿刪改!

節點拷貝

在對xml文件進行處理時,xslt還可以通過拷貝的方式複製節點,方法是利用 xsl:copy和xsl:copy-of。其中xsl:copy只拷貝當前節點,不包括子節點和屬性;而xsl:copy-of的拷貝內容則包括當前節點、子節點和屬性。例如對於:

ais a char

如果樣式單寫為如下形式:

copy-of :  

copy :

轉換後生成如下**:

copy-of : ais a char

copy :

由此可見,兩種拷貝方式結果大相徑庭。

輸出格式與編碼問題

xslt是乙個轉換語言,它的目的是將xml源文件轉換為另一種格式文件,它的輸出結果可以是html文件,也可以是帶css的xml文件。具體的輸出格式由xsl:output 指定。

如果要輸出為html文件,則寫為:

同樣,要輸出xml文件寫為:

如果文件中不出現xsl:output,將預設輸出為xml文件,但如果在匹配模板時使用了 標記,則輸出為html文件。輸出為html文件時系統都會自動加上下面語句:

此外,還可以利用xsl:output指定編碼方式,如utf-8,utf-16,gb2312等。例如: 它指定了該xslt的輸出結果是html格式,編碼方式為中文。

其他:該標籤用於定義模版,同時分配給指定結點

>   獲得結點的值

XSLT學習筆記

xslt是xml文件轉換語言,雖然不能直接定義顯示方式,但可以通過將xml文件轉換成能夠顯示的格式,以達到指定樣式的目的。由於xslt的目的是指定樣式,因此並不能說是完全的通用轉換語言。目前來說,xml文件轉換的許多場合下都可以使用xslt。建立xslt樣式表,其中心就是定義模板。xslt樣式表可以...

xslt學習筆記

元素 元素用於構建模板。match 屬性用於聯絡 xml元素和模板。match 屬性也可用來為整個文件定義模板。match 屬性的值是 xpath 表示式 舉例,match 定義整個文件 元素 元素用於提取某個選定節點的值,並把值新增到轉換的輸出流中 元素 元素可被用於選取某個指定節點集的每個 xm...

XSLT學習筆記

xslt 是xml 文件轉換語言,雖然不能直接定義顯示方式,但可以通過將 xml文件轉換成能夠顯示的格式,以達到指定樣式的目的。由於 xslt 的目的是指定樣式,因此並不能說是完全的通用轉換語言。目前來說,xml文件轉換的許多場合下都可以使用 xslt。建立 xslt 樣式表,其中心就是定義模板。x...