如何从java代码调用XSL模板?

时间:2009-12-16 16:23:05

标签: java xslt

如何从java代码调用XSL模板?

请注意,我不需要知道如何通过Java中的XSL转换xml docuemnt。

我需要的是,我有一些XSLT文档,其中包含一个可以执行某些操作的模板,例如:

<xsl:template match="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th>Title</th>
        <th>Artist</th>
      </tr>
      <tr>
        <td>.</td>
        <td>.</td>
      </tr>
    </table>
  </body>
  </html>
</xsl:template>

然后我需要从java代码调用该模板。怎么??

谢谢所有人,我做到了,请看: http://m-hewedy.blogspot.com/2009/12/how-to-call-xslt-template-from-your.html

3 个答案:

答案 0 :(得分:16)

您可以使用javax.xml.transformer.Transformer API。

这是一个基本的启动示例:

Source xmlInput = new StreamSource(new File("c:/path/to/input.xml"));
Source xsl = new StreamSource(new File("c:/path/to/file.xsl"));
Result xmlOutput = new StreamResult(new File("c:/path/to/output.xml"));

try {
    Transformer transformer = TransformerFactory.newInstance().newTransformer(xsl);
    transformer.transform(xmlInput, xmlOutput);
} catch (TransformerException e) {
    // Handle.
}

答案 1 :(得分:2)

Here's some code用于简单的XSL转换,以及在Java中使用XSL的一些提示。和here's another example一起使用XML和XSL示例。

答案 2 :(得分:0)

您的问题是您有一个不需要输入文档的XSLT吗?然后只需给Transformer对象一些最小的文档:

transformer.transform(new StreamSource(new StringReader(“&lt; empty /&gt;”)),yourResult);