浏览器无关的XSL解决方案,服务端的XSL
要将XML通过XSL转换为HTML必须要求本地主机上有一个XSL解析器,不管是浏览器内嵌的,还是可以通过脚本语言调用。那么,更好的解决方案当然是从服务器端直接发送HTML回来,这样无论什么浏览器都可以看到转换的结果了。
要将XML通过XSL转换为HTML必须要求本地主机上有一个XSL解析器,不管是浏览器内嵌的,还是可以通过脚本语言调用。那么,更好的解决方案当然是从服务器端直接发送HTML回来,这样无论什么浏览器都可以看到转换的结果了。
============================================
cd_catalog.xsl:
- <?xml version="1.0" encoding="GB2312"?>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <!--这里就是告诉下面的select的根路径在哪,例如“select="CATALOG/CD"”-->
- <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>
cd_catalog.xml:
- <?xml version="1.0" encoding="GB2312"?>
- <!--这里说明我要应用“cd_catalog.xsl”来格式化这个xml数据-->
- <?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>
- <CD>
- <TITLE>喀什噶尔胡杨</TITLE>
- <ARTIST>刀郎</ARTIST>
- <COUNTRY>China</COUNTRY>
- <COMPANY>先之唱片</COMPANY>
- <PRICE>20.60</PRICE>
- <YEAR>2004</YEAR>
- </CD>
- <CD>
- <TITLE>敦煌(特别版)</TITLE>
- <ARTIST>女子十二乐坊</ARTIST>
- <COUNTRY>China</COUNTRY>
- <COMPANY>百代唱片</COMPANY>
- <PRICE>25.60</PRICE>
- <YEAR>2005</YEAR>
- </CD>
- </CATALOG>