一介紹
XSLT是一種用來轉換XML文件結構的語言,它是EXtensible Style Language Extensions Trans formations的縮寫。
XSLT類似與HTML中的CSS,但比CSS的功能更強大。
根據W3C規格說明書的說明,最早設計XSLT是幫助將XML文件轉換為其他文件。
但隨著應用程式的深入,XSLT已不僅用於將XML轉換為HTML或其他文件格式,而是成為用來轉換XML文件結構的語言。
XSLT的元素和屬性提供了處理XML資料的聲明,可以使用XSLT詞彙來提取其他文件的內容,創建新的元素和屬性,並且在更多情況下是這兩種方式的有機結合。
XSLT 1.0轉換要求兩個操作檔案(XML來源文件和XSLT樣式表檔)來產生一個結果文件。
在新的XSLT 2.0標準中,允許將二者合一。
透過XSLT可以將每個元素及其屬性與HTML或XHTML進行匹配,從而實現文件內容的正確顯示和輸出。
一個XSLT樣式表是一個遵守XML規則格式的正確有效的XML文檔,其擴展名為.xsl。
在XML文件中使用XSLT樣式表的語法如下:
<?xml-stylesheet type="text/xsl" href="XSL样式表路径"?>
二透過XSLT轉換XML應用
本實例應用XSLT可擴充樣式,將XML檔轉換為其他格式的檔案後再輸出。
本實例透過XSLT轉換XML,輸出的是經由XSLT樣式轉換後的XML檔案中的資料。
先進行XML聲明,指定文件為XML文件。
注意XSLT樣式表本身就是一個XML文檔,因此它也符合XML文檔的規則。
然後宣告XSLT樣式表,並宣告XSLT名稱空間的前綴(xsl:stylesheet)。
XSLT名稱空間的前綴有兩種寫法:xsl:stylesheet和xsl:transform。
其意義和作用完全相同,只是前者比較常用。透過xmlns:xsl屬性指定XSLT名稱空間。
接著定義模板的規則,這裡使用xsl:template元素來封裝。 Math屬性指定一個模式,用來說明該規則符合什麼樣的輸入。
最後實作XML文件的轉換。
三程式碼
1、建立cdcatalog.xsl檔案的程式碼如下:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Title</th> <th>Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td> <xsl:value-of select="title"/> </td> <td> <xsl:value-of select="artist"/> </td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
2、建立cdcatalog.xml程式碼如下:
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> <cd> <title>Hide your heart</title> <artist>Bonnie Tyler</artist> <country>UK</country> <company>CBS Records</company> <price>9.90</price> <year>1988</year> </cd> </catalog>
四運行結果
以上是如何透過XSLT轉換XML的範例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!