<x:param>标签随着变换的标签,用于在XSLT样式表设置参数。
<x:param>标签具有以下属性:
属性 | 描述 | 必须 | 默认 |
---|---|---|---|
name | 在XSLT参数名称设定 | Yes | Body |
value | 在XSLT参数设置的值 | No | None |
考虑下面的XSLT样式表style.xsl。注意<xsl:param...>标签和变量{$bgColor}的用法:
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html" indent="yes"/> <xsl:param name="bgColor"/> <xsl:template match="/"> <html> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="books"> <table border="1" width="50%" bgColor="{$bgColor}"> <xsl:for-each select="book"> <tr> <td> <i><xsl:value-of select="name"/></i> </td> <td> <xsl:value-of select="author"/> </td> <td> <xsl:value-of select="price"/> </td> </tr> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet>
现在,假设我们使用<x:transform>标签在<x:param>标签内定义bgColor的值,如下面的JSP文件:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %> <html> <head> <title>JSTL x:transform Tags</title> </head> <body> <h3>Books Info:</h3> <c:set var="xmltext"> <books> <book> <name>Padam History</name> <author>ZARA</author> <price>100</price> </book> <book> <name>Great Mistry</name> <author>NUHA</author> <price>2000</price> </book> </books> </c:set> <c:import url="http://localhost:8080/style.xsl" var="xslt"/> <x:transform xml="${xmltext}" xslt="${xslt}"> <x:param name="bgColor" value="grey"/> </x:transform> </body> </html>
这将产生以下输出结果:
BOOKS INFO:
|