Forum OpenACS Development: ANNOUNCE: tDOM 0.9.1

Posted by Rolf Ade on
It's a good point to roll out what's done before other changes took
place, so: tDOM 0.9.1 got tagged, source balls and windows binaries
are available. Find them at

or see the README below for more information.

The most notable changes since the last release are:

- The included expat is now 2.2.5, the most recent expat release.

- An interface to use expat as pull parser (StAX like).

- Some minor options for more control about parsing ([dom parse
-keepCDATA]) and serialization (asXML -nogtescape

- A few bug fixes important to whom are bitten by them.

And other things.

See the file CHANGES in the root of the source tree or for a more
detailed list or for even more

Thanks to the contributors and all the others for help, encouragement
and discussion.


The README follows:

tDOM - a XML/DOM/XPath/XSLT/HTML/JSON implementation for Tcl
(Version 0.9.1)

This directory contains a freely distributable thread-safe extension
to Tcl/Tk called tDOM.

tDOM contains:

* for convenience expat 2.2.5, the XML parser originated from
James Clark, although you're able to link tDOM with other
expat versions or the library provided by the system.

* building a DOM tree from XML in one go implemented in C for
maximum performance and minimum memory usage, and DOM I and II
methods to work on such a tree using either a OO-like or a
handle syntax.

* a Tcl interface to expat for event-like (SAX-like) XML parsing.

* a complete, compliant and fast XPath implementation in C
following the November 99 W3C recommendation for navigating and
data extraction.

* a fast XSLT implementation in C following the W3C Recommendation
16 November 1999.

* optional DTD validation.

* a JSON parser which parses any possible JSON input into a DOM
tree without losing information.

* an efficient and Tcl'ish way to create XML and HTML documents
and JSON string.

* as build option an interface to the gumbo HTML5 parser, which
also digests almost any other HTML.

* an even faster simple XML parser for trusted XML input.

* A slim Tcl interface to use expat as pull-parser.

* additional convenience methods.

* and more.


The documentation is included into the source distribution in HTML
and man format. Alternatively, read it online starting at


The development repository is hosted at and is
mirrored at You are encouraged to use

If you insist on using an older tDOM with lesser features and
probably more bugs, you should use the latest release 0.9.1. Get
the source code release from or

Windows binaries (32 bit as well as 64 bit) of the 0.9.1 release
are also available. Get it from and

The provided windows binaries include (statically linked) the
HTML5 parser.


Depending on your platform (unix/mac or win), go to the
corresponding directory and invoke the configure script:

make test
make install

Alternatively, you can build the tDOM package in just about any
directory elsewhere on the fileystem (since TEA-compatible).

You might also want to do "../configure --help" to get a list of
all supported options of the configure script. In the "unix"
directory there is a "CONFIG" file containing some examples on how
to invoke the "configure" script for some common cases. You can
peek there. This file also includes a short description of the
tDOM specific configure options.

Since tDOM is TEA-compatible you should be able to build it using
the MinGW build environment for Windows. There is also the MSVC
nmake file so you can compile the package with Microsoft tools.
Refer to the README in the win directory for more details about
building on Windows.

The compile process will build the tDOM shared library suitable for
loading into the Tcl shell using standard "package require" mechanism.


Please head to and click on "New
Ticket". Log in as anonymous and report your findings. If you
prefer to have an individual login write Rolf a mail.


tDOM was started by Jochen Loewer ( and
developed by Jochen and Rolf Ade ( with
contributions by Zoran Vasiljevic ( Since more
than a dozen years it is maintained and developed by Rolf Ade.

2: Re: ANNOUNCE: tDOM 0.9.1 (response to 1)
Posted by Gustaf Neumann on
Rolf, many thanks!

It works perfectly for our cases, it is already installed on

many thanks for your work!