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]