二.XSL的轉換
1.將XML轉換成Html
XSL是如何將XML文檔轉換成Html文件的呢?我們來看一個例子,下面是XML文檔的一部分:
<?XML version="1.0" encoding="ISO8859-1" ?>
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
...
然後我們將下面的XSL文件作為HTML的模板將XML數據轉換為Html文件:
<?XML version='1.0'?>
<xsl:stylesheet XMLns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<Html>
<body>
<table border="2" bgcolor="yellow">
<tr>
<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>
在上面的代碼中, xsl:for-each元素的作用是定位XML文檔中的哪些元素需要按以下模板顯示。select屬性用來定義源文件中的元素名。指定屬性的這種語法又稱為XML
Pattern(模式),類似文件子目錄的表示形式。xsl:value-of元素用來在當前層次中插入子元素的內容模板。
因為XSL樣式表自身也是一個XML文檔,因此,XSL文件的開頭以一個XML聲明開始。 xsl:stylesheet元素用來聲明這是一個樣式表文件。<xsl:template
match="/">語句表示XML的源文檔在當前目錄下。
如果為XML文檔加上XSL樣式表,看下面代碼第2行,你的浏覽器就可以精確的將XML 文檔轉換為Html文件。
<?XML version="1.0" encoding="ISO8859-1" ?>
<?XML-stylesheet type="text/xsl" href="cd_catalog.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>