Isso deve ajudar voc� a come�ar, esta � uma p�gina JSP que recebe dois par�metros xml e xsl contendo respectivamente, adivinhe s�, os nomes dos arquivos xml e xsl que devem ser combinados (estes arquivos devem estar dispon�veis na aplica��o web)...
 
<%@page import="javax.xml.transform.stream.StreamSource,javax.xml.transform.stream.StreamResult,javax.xml.transform.*" %>
<%
StreamSource xsl = new StreamSource(application.getResourceAsStream(request.getParameter("xsl")));
StreamSource xml = new StreamSource(application.getResourceAsStream(request.getParameter("xml")));
 
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(xsl);
transformer.transform(xml, new StreamResult(out));
%>
 
Se voc� tem uma instala��o do TOMCAT, copie esta p�gina para o diret�rio webapps\ROOT, copie tamb�m os arquivos xml e xsl que deseja combinar e ent�o aponte seu browser para, por exemplo, http://localhost:8080/transform.jsp?xml=hello.xml&xsl=hello.xsl (assumindo que vc salvou a p�gina como transform.jsp e possui arquivos de nome hello.xml e hello.xsl juntos � p�gina).
 
Existem uma s�rie de melhorias poss�veis para um ambiente de produ��o (como por exemplo fazer cache de um objeto Templates no escopo da aplica��o, utilizar URLs ao inv�s de InputStreams - algu�m saberia dizer pq? ;-) ), mas estas ficam como exerc�cio para o leitor :-)
 
Rodrigo
-----Original Message-----
From: Luiz Fernando Bicalho [mailto:[EMAIL PROTECTED]]
Sent: quarta-feira, 13 de mar�o de 2002 16:48
To: [EMAIL PROTECTED]
Subject: [java-list] Parse do XML no server

Amigos,
 
Estamos fazendo uma aplica��o que gera uns resultados em XML e utilizamos XSL para formatar a saida HTML
para isso associamos o XML ao XSL por um arquivo HTML que tem um javascript que faz o parse.
mas queriamos que o parse fosse feito  no server. para isso uma pessoa da empresa fez um ASP que fazia isso, mas precisamos fazer o mesmo em java.
Gostaria de saber se alguem j� fez isso, ou se tem alguma dica para seguir.
 
Obrigado
Luiz

Responder a