Как применить таблицу стилей к выходному потоку Castor Marshaller - PullRequest
0 голосов
/ 23 февраля 2011

Каков наилучший способ применить 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

...