Using XML in Tcl

Posted on December 7th, 2009 by David Luhman and tagged , .

I used to do quite a bit of Tcl programming back in the mid to late 1990s. I've since largely dropped it, but Tcl still is used quite a bit in specialized use cases.

To use Tcl with XML, it seems like the most popular solution is the TclXML package :
http://tclxml.sourceforge.net

From what I can tell, it's the best / only package for XML in Tcl, although here's a 11-year old article by Steve Ball which seems to reference other approaches :
http://www.usenix.org/events/tcl98/tcl98/full_papers/ball/ball.pdf

Here's one reference which alludes to concerns about generating XML and a few solutions :
http://wiki.tcl.tk/1740

Steve Ball succinctly advised, "When creating XML, I generally use TclDOM. Create a DOM tree in memory, and then use 'dom::DOMImplementation serialize $doc' to generate the XML. The TclDOM package will make sure that the generated XML is well-formed.

It looks like Steve Ball is the author of TclXML, TclDOM and TclXSLT, so his home-cooked solution is expected.

I ran across another code fragment from the same Steve Ball here (http://www.ra.ethz.ch/CDstore/www7/1869/com1869.htm) which I like because it apparently works off a DTD so it provides a higher level of document validity.

xml::generate [xml::parseDTD $dtd] set xmlDocument [MEMO priority Important { TO {xml::text "All WWW7 Attendees"} FROM {xml::text "Steve Ball"} MESSAGE {xml::text "XML is terrific!"} }]

Finally, I also ran across this paper from, again, Steve Ball. It's at least written in this millennium :

http://aspn.activestate.com/ASPN/Tcl/TclConferencePapers2002/Tcl2002pape...

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options