XSLT参数不起作用

时间:2012-08-03 19:53:31

标签: java xml xslt

这是我的java代码,与参数:

有关
    transformer.setParameter("limad","1234");
    transformer.transform(text, new StreamResult(response.getOutputStream()));

我的xslt有:

<xsl:template match="/">
    <xsl:param name="limad"/>
    .... lots of stuff here...
                                <td>
                                    <xsl:value-of select="$limad"/>
                                </td>
    .... lots of stuff here...
</xsl:template>

我的结果是:          &LT; TD&GT;&LT; / TD&GT;

有什么想法吗?我该怎么调试呢?

1 个答案:

答案 0 :(得分:3)

我不是java的专家,但如果你试图将参数传递给xslt,你需要将它们放在template-match =“/”

之外
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">


<!-- Imports -->
<xsl:import href="test.xslt"/>

<xsl:output method="html"
                  doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
                  doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
                  indent="yes" standalone="yes"/>

 <!-- Parameters-->
<xsl:param name="limad"/>

<!-- Templates Match-->
<xsl:template match="/">
    .... lots of stuff here...
                                <td>
                                    <xsl:value-of select="$limad"/>
                                </td>
    .... lots of stuff here...
</xsl:template>
</xsl:stylesheet>