Here is a block of code our of one my servlets. This code takes a string containing XML, applies an XSL:FO style sheet to it, and runs the XML:FO through FOP and send s the PDF directly back to the browser.
Writer out = new StringWriter(); Transformer pdfTransformer = NsTransformerCollection.loadTransformer("my.xsl");; String xmlString = ..... Source xmlSource = new StreamSource(new StringReader(xmlString)); pdfTransformer.transform(xmlSource, new StreamResult(out)); out.close(); String fopstring = out.toString(); InputSource foSource = getInput(fopstring); try { ByteArrayOutputStream out = new ByteArrayOutputStream(); uResponse.setContentType("application/pdf"); Driver driver = new Driver(iInputSource, out); driver.setRenderer(Driver.RENDER_PDF); driver.run(); byte[] content = out.toByteArray(); uResponse.setContentLength(content.length); uResponse.getOutputStream().write(content); uResponse.getOutputStream().flush(); uResponse.flushBuffer(); } catch (Exception e){} Jim -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Monday, November 12, 2001 12:49 PM To: [EMAIL PROTECTED] Subject: Question on XSLTInputHandler Hello, I've looked at the example servlet and found that the XSLTInputHandler takes as input a java.io.File. However, I am constructing the XML document dynamically and have it as a java.lang.String in memory. It seems unnecessary I/O to write it out to a temporary file, just to pass it to the XSLTInputHandler. Looking at the source of XSLTInputHandler.java I didn't find any alternate way to call it. What would the recommended procedure be in this case, where I already have the XML document in memory? thanks in advance for any pointers, Ulrich -- Ulrich Mayring DENIC eG, Systementwicklung --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]