Ayuda!!! Xml, Xsl y JSP

Rasquelita
15 de Noviembre del 2004
Buen día....
Mi duda es la siguiente... tengo un documento xml bien armado que traigo de la base de datos y lo contengo en un variable string, tengo además un documento xsl, que interpreatará al xml, ahora como hago para instanciar el archivo xsl, y hacer el parse para que se me dibuje en un página jsp.
si alguno de ustedes sabe, le agradecería mucho la ayuda

maramonar
15 de Noviembre del 2004
Suponiendo que xmlSource es tu documento xml y xsltResoucerName es el nombre del archivo xsl (y que el archivo esta en el classpath) probá:
public static String transform(String xmlSource, String xsltResourceName) throws SqlGeneratorException {
StringWriter result = new StringWriter();
try {
InputStream stylesheet = SqlGenerator.class.getResourceAsStream(xsltResourceName);
StreamSource stylesource = new StreamSource(stylesheet);
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = builder.parse(new InputSource(new StringReader(xmlSource)));
Transformer transformer = TransformerFactory.newInstance().newTransformer(stylesource);
StreamResult out = new StreamResult(result);
transformer.transform(new DOMSource(document), out);
stylesheet.close();
} catch (IOException e) {
.....
}
return result.toString();
}

rsquelita
15 de Noviembre del 2004
Mil Gracias maramonar... pero no me ha funcionado todavía. Implemente el método en el bean. pero me da problemas al cargar el xsl, a pesar que lo tengo dentro del classpath.
Ahh y otra pregunta, y perdona mi ignoracia, la clase SQLGenerator en cual paquete está declarada.

Otra coas, también probé directamente en un scriplet en el jsp, y tampoco me importa el archivo, me da la siguiente excepción

javax.xml.transform.TransformerException: java.io.FileNotFoundException:

NotifyUtil::java.net.SocketException: Software caused connection abort: recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:222)
at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:756)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:711)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:721)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:635)
at org.netbeans.modules.web.monitor.server.NotifyUtil$RecordSender.run(NotifyUtil.java:248)