XSLT(eXtensible Style Language Transformation)

XSLT並不是顯示XML元素內容,只是將XML元素轉換成其他文件的格式。透過XSLT處理器(XSLT Processor)XML文件依照Template-Driven的轉換Script程式碼來產生轉換結果。XML文件能轉換成一樹狀結構,XSLT就是將一棵XML樹,套用XSLT轉換成Template Tree, 再修改一些節點的架構, 最後產生另一棵不同架構的樹狀結構.

XSLT的基本架構

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

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:template math="/">

    ........

    ........

  </xsl:template>

</xsl:stylesheet>

 

XSLT的範本元素(Template Element)

內容元素 xsl:value-of=>可取得XML元素或屬性的內容。

範本元素 xsl:template=>XSLT Script就是在定義XML元素所需的範本,所使用的就是範本元素。

遞迴範本元素 xsl:apply-templates=>使用Recursive的方式顯示所有子元素。

 

利用XSL建立Hyperlink

利用xsl:attribute新增一個屬性節點到元素中,並將該節點加到套用XSL後所要輸出的目的文件中。

 

XSLT的迴路(Loop)元素

迴路元素xsl:for-each=>如果XML文件擁有數個相同元素,就可以使用XSLT迴路(Loop)元素顯示XML元素的內容。

排序元素xsl:sort=>HTML標籤的內容無法進行排序的處理,但是XSLT Script擁有排序元素,能夠指定XML元素進行排序。

 

XSLT的條件元素

XSLT支援條件元素,能夠使用條件決定是否顯示指定的元素,提供單一條件的 xsl: if 元素和多條件的 xsl:choose 素,能夠建立複雜的文化轉換功能。

單一條件元素 xsl:if

多條件元素 xsl:choose=>條件處理如果需要多條件,我們可以使用 xsl:choose, xsl:when, xsl:otherwise 元素建立多條件元素。

語法範例 :

<xsl:choose>

  <xsl:when test=".[price>500]">

      ........

  </xsl:when>

  <xsl:when test=".[price=500]">

      ........

  </xsl:when>

  <xsl:otherwise>

      ........

  </xsl:otherwise>

</xsl:choose>

 

XSLT的函數元素(Function Element)

XSLT提供xsl:call-template元素能夠建立範本函數,複使用相同的範本元素,只需傳入不同的參數就可以產生不同的輸出結果。

 

參考來源: http://andypony.mis.stut.edu.tw/teach/xslteah.htm