import javax.xml.transform.sax.SAXSource;
import org.xml.sax.helpers.XMLReaderFactory;
import org.xml.sax.XMLReader;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.Result;
import java.io.*;
import java.net.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class TransformServlet extends HttpServlet {
private InputStream sXmlFilePath;
private InputStream sXSLFilePath;
private static final
String parserClass = "org.apache.xerces.parsers.SAXParser";
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ServletContext sc = getServletContext();
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
sXmlFilePath = sc.getResourceAsStream("/xml/yourxml.xml");
sXSLFilePath = sc.getResourceAsStream("/xsl/yourxsl.xsl");
try{
XMLReader reader = XMLReaderFactory.createXMLReader(parserClass);
Source source = new SAXSource(reader, new InputSource(sXmlFilePath));
Source style = new StreamSource(sXSLFilePath);
TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer trans = transFactory.newTransformer(style);
StreamResult result = new StreamResult(new StringWriter());
trans.transform(source, result);
String htmlString = result.getWriter().toString();
out.write(htmlString);
}catch(SAXException se){
System.out.println("SAXException"+se);
}catch(TransformerConfigurationException tce){
System.out.println("TransformerConfigurationException"+tce);
}catch(TransformerException te){
System.out.println("TransformerException"+te);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
public String getServletInfo() {
return "Short description";
}
// </editor-fold>
}