简体   繁体   中英

How to call XSL template from java code?

How to call XSL template from java code ?

Please note that, I don't need to know how to transform xml docuemnt by XSL in Java.

What I need exactly is that, I have some XSLT document that contains a template that do something, ex:

<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>

Then I need that template to be called from java code. How to ??

Thanks All guyz, I did it, Please see : http://m-hewedy.blogspot.com/2009/12/how-to-call-xslt-template-from-your.html

You can use the javax.xml.transformer.Transformer API for this.

Here's a basic kickoff example:

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.
}

Here's some code for a simple XSL transform, along with some tips for using XSL in Java. And here's another example , complete with an example XML and XSL.

Is your question that you have an XSLT which doesn't require an input document? Then just give the Transformer object some kind of minimal document:

transformer.transform(new StreamSource(new StringReader("<empty/>")), yourResult);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM