<x:param> 标签用于为 <x:param> 标签设定参数信息。如果执行文件转换的样式表使用了参数,可以使用 <x:param> 标签来定义这些参数。
语法:
参数说明:
将 XML 文件 personnel.xml 套用 XSLT 文件 personnel.xsl 样式,并输出 <name> 节点不等于由 <x:param> 标签指定的参数 paraName 的值的用户信息,关键代码如下:
<%@taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:import url="personnel.xml" var="xmlFile" charEncoding="gbk"/>
<c:import url="personnel.xsl" var="xsltFile" charEncoding="gbk"/>
<x:transform doc="${xmlFile}" xslt="${xsltFile}">
<x:param name="paraName" value="wgh"></x:param>
</x:transform>
personnel.xsl 文件的内容如下:
<?xml version="1.0" encoding="gbk"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="paraName"/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="personnel">
<html>
员工信息<br/>
<xsl:apply-templates/>
</html>
</xsl:template>
<xsl:template match="person">
<xsl:if test="name/@ value!=$paraName">
<div style="font-size:9pt;">
<pre>
<xsl:value-of select="name/@value"/>|<xsl:value-of select="knowledge"/>
|<xsl:value-of select="memo/@value"/>
</pre>
</div>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
personnel.xml 文件的内容如下:
运行结果如下:
员工信息
zs | 未知 | 诚信