Reputation: 30058
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
Upvotes: 5
Views: 22668
Reputation: 1074
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);
Upvotes: 0
Reputation: 1108722
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.
}
Upvotes: 17
Reputation: 51945
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.
Upvotes: 2