XSLT學習筆記

2021-04-02 19:50:11 字數 2606 閱讀 3097

xslt

是xml

文件轉換語言,雖然不能直接定義顯示方式,但可以通過將

xml文件轉換成能夠顯示的格式,以達到指定樣式的目的。由於

xslt

的目的是指定樣式,因此並不能說是完全的通用轉換語言。目前來說,

xml文件轉換的許多場合下都可以使用

xslt。建立

xslt

樣式表,其中心就是定義模板。

xslt

樣式表可以說是模板規則的集合。

模板規則使用

xsl:template

元素進行定義。它的屬性包括

match

、name

、priority

和mode

。其中最重要的是

match

屬性,該屬性規定了節點的樣式。若沒有指定

name

屬性的話,就必須指定

match

屬性。使用

元素來應用模板規則。它包含

select

和mode

屬性。xsl:value-of

元素可以將指定的節點的值作為字串來輸出。必須要指定

select

屬性。xsl:value-of

元素將節點的值轉換為字串。與此相對,

xsl:copy-of

元素將複製節點,節點中包含的子元素原封不動。

需要生成屬性值時,可以使用大括號

{}將表示式括起來。

xsl:text

元素可以生成文字節點。由於生成文字時直接將文字寫出即可,所以一般情況下該元素不使用。但是若需要令輸出的轉義字元失效的話就需要使用該元素。

需要生成注釋時可以使用

xsl:comment

元素。複製當前節點可以使用

xsl:copy

元素。屬性和子節點不會被自動複製。

需要生成元素時可以使用

xsl:element

元素。通常,只要將需要生成的元素直接寫出即可,不必使用

xsl:element

元素。該元素僅在需要動態生成元素時才有必要使用。

需要生成屬性時可以使用

xsl:attribute

元素。與生成元素的情況相同,通常只需要將需要生成的屬性直接寫出即可,不需使用

xsl:attribute

元素。該元素僅在需要動態生成屬性等場合才有必要使用。

需要輸出整數值時可以使用

xsl:number

元素。需要迴圈進行處理時可以使用

xsl:for-each

元素。必須設定

select

屬性,來指定被處理的節點集合。如果使用了後面講述的排序的話則按照排序結果的順序進行處理,否則按照節點出現順序進行處理。

在xslt

中,進行條件處理的元素有

xsl:if

和xsl:choose

兩個。xsl:if

進行「如果就」的

if-then

型處理,

xsl:choose

當有多個選擇項存在時進行處理。

xsl:if

元素擁有

test

屬性,可指定邏輯表示式。邏輯表示式為真的情況下執行模板的轉換,假的情況下不進行轉換。

xsl:choose

元素由乙個或乙個以上的

xsl:when

元素和可選的

xsl:otherwise

元素組成。與

xsl:if

元素相同,

test

屬性的邏輯表示式為真的情況下執行指定的模板。從上到下依次測試

xsl:when

元素,但只有第乙個邏輯表示式為真的

xsl:when

院所的模板會被執行。如果所有的

xsl:when

元素的邏輯表示式均為假,則執行

xsl:otherwise

元素所指定的模板。

xsl:otherwise

元素不存在時則不執行任何模板。

為將資料排序,可以在

元素或xsl:for-each

元素的子節點中增加

xsl:sort

元素。通過

select

屬性指定排序的節點。通過

data-type

屬性指定字串的資料型別。設定為

text

就能夠按照人們預設的字典順序進行排序。設定為

number

將把字串看作數字,按照數字的值進行排序。

order

屬性設定排序的順序。公升序為

ascending

、降序為

descending

。未指定時預設為公升序。其他能夠設定的屬性包括設定語言的

lang

屬性,設定大小寫字母哪個優先的

case-order

屬性等。

在xslt

中可以使用變數。可以為變數賦值的元素有

xsl:variable

元素和xsl:param

元素。在表示式中訪問變數時,需要在變數名前加上

$符號。使用

xsl:value-of

元素訪問變數則可以輸出變數的值。

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樣式表,其中心就是定義模板。xslt樣式表可以...