Каков наилучший способ применить xslt к выходному потоку Castor marshaller?
Я хотел бы отправить xhtml клиенту в моем сервлете.Я также пытался буферизовать данные в строку и соединить конвейер с xalan, но это кажется дорогим, и должен быть способ обработать поток один раз.
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String strGpxid = request.getParameter("id");
long gpxid = Long.parseLong(strGpxid);
// Set content type for HTML.
response.setContentType("text/xml; charset=UTF-8");
// Output goes to the response PrintWriter.
java.io.PrintWriter out = response.getWriter();
try
{ // private method call to fetch from gpxdb
Gpx gpx = this.getGpx(gpxid);
StringWriter strWriter = new StringWriter();
Marshaller marshaller = new Marshaller(strWriter);
marshaller.setEncoding("ISO-8859-1");
marshaller
.setSchemaLocation("http://www.topografix.com/GPX/1/1/gpx.xsd");
// marshaller.addProcessingInstruction ("xml-stylesheet", "href = 'gpsxmlQuickView.xsl'");
PrintWriter pw = response.getWriter();
Marshaller.marshal(gpx, pw);
}
catch (Exception e)
{
out.write(e.getMessage());
e.printStackTrace(out);
}
out.close();
}
TIA