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樣式表可以...