无法让setParameter在XSLT转换器

时间:2016-09-10 20:31:25

标签: java xml xslt

尝试将参数传递给XSLT样式表。这是我的java代码......

public static void main(String[] args) throws IOException, URISyntaxException, TransformerException {
    TransformerFactory factory = TransformerFactory.newInstance();
    String filename = "MyFile.xml";
    Source xslt = new StreamSource(new File("MyXSL.xsl"));
    Transformer transformer = factory.newTransformer(xslt);
    transformer.setParameter("dynevidence", filename);

    Source text = new StreamSource(new File(filename));
    transformer.transform(text, new StreamResult(new File("output.html")));
}

这是我的XSLT表

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output method="text"/>

  <xsl:template match="/">
    <html>
    <body>
    <xsl:param name="dynevidence"/>
    <B>Description</B>
    </body>
    </html>
  </xsl:template>

</xsl:stylesheet>

参数没有输出,标记直接进入描述。我做错了什么想法?

1 个答案:

答案 0 :(得分:2)

<xsl:param name="dynevidence"/>声明为xsl:stylesheet的顶级子项,然后在您要使用值$dynevidence的位置。