在asp.net 2.0中,对XML的应用大为增强,而在XSLT处理方面,也提供了新的功能。本文将简单对asp.net 2.0中XSLT的使用作简单的说明,当然本文假定读者有一定的XSLT的基础知识。
在asp.net 2.0中,XSLT方面有如下的转变和新功能:
·XslCompiledTransform – 实际上是.NET 1.0的 XslTransform ,但提供了更好的性能支持,也支持之前.net 1.0下的应用的顺利迁移.
·XsltArgumentList – 允许向XSLT中传递参数或者对象
XsltCompileException – 当通过loa()方法加载XSL文档时发生错误时产生的异常。
XsltException – 当在对XSL文档进行解析时发生错误时产生的异常。
先来看个简单的例子,该例子从NORTHWIND数据库中拿出数据,以XML格式展示,再以XSLT格式转换,其中XSLT代码如下:
\n
<?xml version=”1.0″ ?>
<xsl:stylesheet version=”1.0″ xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”>
<xsl:output method=”html” />
<xsl:template match=”/”>
<HTML>
<HEAD>
<TITLE>Simple XSLT Transformation</TITLE>
</HEAD>
<BODY>
<H2>Simple XSLT Transformation</H2>
<table border=”1″ cellSpacing=”1″ cellPadding=”1″>
<center>
<xsl:for-each select=”//Categories”>
<!– Each record on a seperate row –>
<xsl:element name=”tr”>
<xsl:element name=”td”>
<xsl:value-of select=”ProductSubcategoryID” />
</xsl:element>
<xsl:element name=”td”>
<xsl:value-of select=”Name” />
</xsl:element>
<xsl:element name=”td”>
<xsl:attribute name=”align”>center</xsl:attribute>
<xsl:value-of select=”ModifiedDate” />
</xsl:element>
</xsl:element>
</xsl:for-each>
</center>
</table>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>\n
<xsl:stylesheet version=”1.0″ xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”>
<xsl:output method=”html” />
<xsl:template match=”/”>
<HTML>
<HEAD>
<TITLE>Simple XSLT Transformation</TITLE>
</HEAD>
<BODY>
<H2>Simple XSLT Transformation</H2>
<table border=”1″ cellSpacing=”1″ cellPadding=”1″>
<center>
<xsl:for-each select=”//Categories”>
<!– Each record on a seperate row –>
<xsl:element name=”tr”>
<xsl:element name=”td”>
<xsl:value-of select=”ProductSubcategoryID” />
</xsl:element>
<xsl:element name=”td”>
<xsl:value-of select=”Name” />
</xsl:element>
<xsl:element name=”td”>
<xsl:attribute name=”align”>center</xsl:attribute>
<xsl:value-of select=”ModifiedDate” />
</xsl:element>
</xsl:element>
</xsl:for-each>
</center>
</table>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>\n