File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Beginning Java and the fly likes Apply XSL to XML (Java) Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Apply XSL to XML (Java)" Watch "Apply XSL to XML (Java)" New topic
Author

Apply XSL to XML (Java)

Anjali S Sharma
Ranch Hand

Joined: Jun 29, 2005
Posts: 279
I have my XML in a StringBuffer variable.
Example,
StringBuffer sb = new StringBuffer();
sb = sb.append("<node1><node2><node2><node3></node3></node1>") ;

This application is deployed on Tomcat. Inside the web application, I have my XSl.
Can someone please let me know how can I apply this XSL to the above xml, so that I get the HTML result in a variable (which I'll send to the JSP to be displayed)
Gamini Sirisena
Ranch Hand

Joined: Aug 05, 2008
Posts: 347
You can use core java APIs (i.e. JAXP) to achieve this.

What you need to do ultimately is call javax.xml.transform.Tranformer.transform(
javax.xml.transform.Source, javax.xml.transform.Result)

Some other hints to solve the problem the way you want is the
StringReader class and the StringWriter class.

Another hint to a different approach is that the implicit "out" object in a JSP is a Writer (more specifically a PrintWriter).

Google for some sample programs using some relevant keywords which
will make your life a bit easier.

Also here is a link to the JSE 6 API. Check the javax.xml.tranform and javax.xml.tranform.stream packages.
Anjali S Sharma
Ranch Hand

Joined: Jun 29, 2005
Posts: 279
Thank you
I did this

but the problem seems to be this line
StreamSource xsltSource = new StreamSource(new StringReader(xsl));
I have path to xsl in the variable "xsl". But I guess the paramter expects the XSL content. How do I get it here?
Gamini Sirisena
Ranch Hand

Joined: Aug 05, 2008
Posts: 347
For the xsl try some type of InputStream..
 
 
subject: Apply XSL to XML (Java)