Thank you, 

I think this code really is useful!

I really have reported a bu to bugzilla about the DOM input.
the bug number is 5075.  Should someone add this code 
there too as it really has to do with the reported problem? 

-Teemu



> -----Alkuperäinen viesti-----
> Lähettäjä:    Lakshmi Anantharaman
> [SMTP:[EMAIL PROTECTED]
> Lähetetty:    18. tammikuuta 2002 22:26
> Vastaanottaja:        Fop-User (E-mail)
> Aihe: FOP and DOM Success
> 
> I tried for long and with the help of  fop-dev archive got my FOP servlet
> to
> work with a DOM .
> Here comes the code . I hope it is useful to someone down the line !
> 
> public void renderXML(HttpServletResponse response) throws
> ServletException
> {
> try {
>          //Instantiate a DocumentBuilderFactory.
>         DocumentBuilderFactory dFactory =
> DocumentBuilderFactory.newInstance();
>         // And setNamespaceAware, which is required when parsing xsl files
>         dFactory.setNamespaceAware(true);
>         //Use the DocumentBuilderFactory to create a DocumentBuilder.
>         DocumentBuilder dBuilder = dFactory.newDocumentBuilder();
>         
>         /**************************************************************/
>         FileInputStream  xmlfile = new
> FileInputStream("c:\\bea\\wlserver6.0\\contact.xml" );
>         Document xmlDoc = dBuilder.parse(xmlfile);
>         javax.xml.transform.dom.DOMSource xmlDomSource = new
> javax.xml.transform.dom.DOMSource(xmlDoc);
>         /************************************************************/
> 
>         
>         /************************************************************/
>         FileInputStream xsltFile = new FileInputStream("contactFO.xsl");
> 
>         org.w3c.dom.Document xslDoc = dBuilder.parse(xsltFile);
>         javax.xml.transform.dom.DOMSource xslDomSource = new
> javax.xml.transform.dom.DOMSource(xslDoc);
>         javax.xml.transform.TransformerFactory tFactory =
> javax.xml.transform.TransformerFactory.newInstance();
>         javax.xml.transform.Templates templates =
> tFactory.newTemplates(xslDomSource);
>         javax.xml.transform.Transformer transformer =
> templates.newTransformer();
>         /*************************************************************/
>         
>         javax.xml.transform.dom.DOMResult foDomResult = new
> javax.xml.transform.dom.DOMResult();
>         transformer.transform(xmlDomSource, foDomResult);
>         
>         // Avoiding this step was what gave the null pointer exception ! 
>         org.w3c.dom.Document foDoc
> =(org.w3c.dom.Document)foDomResult.getNode();
> 
>          
>         ByteArrayOutputStream out = new ByteArrayOutputStream();
>         response.setContentType("application/pdf");
>         org.apache.fop.apps.Driver driver = new
> org.apache.fop.apps.Driver();
>         driver.setErrorDump(true);
>         driver.setRenderer(driver.RENDER_PDF);
>         driver.setupDefaultMappings() ;
>         driver.setOutputStream(out);
>         driver.render(foDoc);
> 
>         byte[] content = out.toByteArray();
>         response.setContentLength(content.length);
>         response.getOutputStream().write(content);
>         response.getOutputStream().flush();
>     }catch(FileNotFoundException fnf)
>     {
>                       fnf.printStackTrace();    
>     }
>     catch (Exception ex) {
>                       throw new ServletException(ex);
>     }
> }
> Lakshmi

Reply via email to