Version 9 of XML pretty-printing

Updated 2002-09-18 18:49:06

[ CL means by this "display formatting".]

[Explain what's available in TclDOM and tdom.]

For TclDOM, just use the -indent option. For example,

dom::serialize $dom -indent yes

The man page [L1 ] explains the use of -indent and -indentspec.

[Explain pretty_print package--application, why not at SF, plans, ...] [License, too.] [Last one CL packaged was http://www.phaseit.net/claird/comp.lang.tcl/dom_pretty_print/dom_pretty_print-0.2.tar.Z ]


RS can't resist to contribute a quite pretty one-liner proc:

 package require tdom
 proc xmlpretty xml {[[dom parse $xml] documentElement] asXML}

 % xmlpretty "<foo a=\"b\"><bar>grill</bar><room/></foo>"
 <foo a="b">
     <bar>grill</bar>
     <room/>
 </foo>

Nicely functional (indenting is default in the asXML method), it's just that it leaks memory: the document object is never freed. So here is a cleaner, but not so compact version:

 proc xmlpretty xml {
     dom parse $xml mydom
     set res [[$mydom documentElement] asXML]
     $mydom delete
     set res
 } ;# RS






Also see XML and http://software.decisionsoft.com/software/xmlpp.pl