XSLT學習筆記

2021-08-22 02:14:02 字數 1441 閱讀 8742

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

建立xslt樣式表,其中心就是定義模板。xslt樣式表可以說是模板規則的集合。

模板規則使用xsl:template元素進行定義。它的屬性包括match、name、priority和mode。其中最重要的是match屬性,該屬性規定了節點的樣式。若沒有指定name屬性的話,就必須指定match屬性。

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元素不存在時則不執行任何模板。

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