This week's book giveaway is in the OCAJP forum.
We're giving away four copies of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) and have Khalid A Mughal & Rolf W Rasmussen on-line!
See this thread for details.
Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Apply XSL to XML (Java)

 
Anjali S Sharma
Ranch Hand
Posts: 279
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 378
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 279
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 378
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
For the xsl try some type of InputStream..
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic