Re: pretty printing page output

Jacob Kjome <[email protected]> Thu, 18 Sep 2003 15:06:51 -0500
Newsgroups gmane.comp.java.enhydra.xmlc
Message-ID <[email protected]>
At 11:15 PM 9/17/2003 -0700, you wrote:
>   The DOMFormatter does not suffer from this problem so I'm using it for 
> now.  Only thing is that I've made use of OutputOptions and I still see 
> no change in the source output.
>
>                 try{
>                         response.setContentType("text/html");
>                         OutputOptions output = new OutputOptions();
>                         output.setPrettyPrinting(true);
>                         output.setFormat(OutputOptions.FORMAT_HTML);
>                         output.setIndentSize(2);
>                         DOMFormatter df = new DOMFormatter();
>                         df.setOutputOptions(output);
>                         ServletOutputStream sos = response.getOutputStream();
>                         df.write(page, sos);
>                 }catch(IOException izzy){
>                         izzy.printStackTrace();
>                 }
>
>Anything else I need to do to get it formatted?

As a stopgap measure, try doing this...

            //write the doc to a byte stream
             byte[] bytes = dfm.toBytes(node);

             //filter the byte stream to tidy
             Tidy tidy = new Tidy();
             tidy.setIndentContent(true);
             tidy.setSpaces(2);
             tidy.setQuiet(true);
             ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
             ByteArrayOutputStream baos = new ByteArrayOutputStream();
             tidy.parse(bais, baos);

             //now write the file
             writer.write(baos.toString());


Jake