Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ANNOUNCE: tDOM 0.9.0

162 views
Skip to first unread message

Rolf Ade

unread,
Aug 24, 2017, 11:41:46 AM8/24/17
to

Some demand (and, to be fair, also some civilized encouragement)
finally pushed me to cut a new tDOM release.

Besides the fruit of the careful gardening of the as mature recognized
core over the years there are also a couple of new features. The
probably most prominent ones are (in no special order):

- a new HTML5 parser (optional at build time, needs the gumbo library)

- a JSON to DOM parser and a way to create JSON data

- more capablilities of the *FromScript way of creating DOM trees

See the CHANGES files in the top-level directory of the source
distribution for a more detailed list and the timeline of the official
tDOM repository at http://tdom.org for the complete list of changes.

For downloads and other information see the README below.

Special thanks to Ashok Nadkarni (aka apn), who modernized the windows
build system and provided the windows binaries.

rolf

The README follows:


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


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

tDOM was started by Jochen Loewer (loe...@hotmail.com) and developed
by Jochen and Rolf Ade (ro...@pointsman.de) with contributions by Zoran
Vasiljevic (z...@archiware.com). Since more than a decade it is
maintained and developed by Rolf Ade.


tDOM contains:

* for convenience expat 2.2.0, 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.

* additional convenience methods.

* and more.


DOCUMENTATION

The documentation is included into the source distribution in HTML
and man format. Alternatively, read it online starting at
http://tdom.org/index.html/doc/tdom-0-9-0/doc/index.html


GETTING THE CODE

The development repository is hosted at http://tdom.org and is
mirrored at http://core.tcl.tk/tdom. You are encouraged to use
trunk.

If you insist on using an older tDOM with lesser features and
probably more bugs, you should use the latest release 0.9.0. Get
the source code release from
http://tdom.org/downloads/tdom-0.9.0-src.tgz or
http://tdom.org/downloads/tdom-0.9.0-src.zip

Windows binaries (32 bit as well as 64 bit) of the 0.9.0 release
are also available. Get it from
http://tdom.org/downloads/tdom-0.9-windows-x64.zip and
http://tdom.org/downloads/tdom-0.9-windows-x86.zip

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


COMPILING tDOM

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

../configure
make
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.


REPORTING BUGS

Please head to http://tdom.org/index.html/ticket 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.

Harald Oehlmann

unread,
Aug 25, 2017, 3:06:08 AM8/25/17
to
Am 24.08.2017 um 17:41 schrieb Rolf Ade:
>
> Some demand (and, to be fair, also some civilized encouragement)
> finally pushed me to cut a new tDOM release.

Congratulations! Thank you, Rolf!
As TCLWS already uses the JSON stuff, we are very happy to have an
official release.

Thanks,
Harald

MartinLemburg@Siemens-PLM

unread,
Sep 22, 2017, 11:05:17 AM9/22/17
to
Thanks Rolf for the release!

I'll download the released binaries and I'm curious about the JSON stuff.

Since you mentioned the enhanced FroMScript functionality - was tdomhtml updated, too?
And is there a tdomjson package eventually too, now?

Best regards and a happy weekend!

Martin

Rolf Ade

unread,
Sep 22, 2017, 7:13:20 PM9/22/17
to

"MartinLemburg@Siemens-PLM" <martinlemb...@gmail.com> writes:
> Am Donnerstag, 24. August 2017 17:41:46 UTC+2 schrieb Rolf Ade:
>> Some demand (and, to be fair, also some civilized encouragement)
>> finally pushed me to cut a new tDOM release.
>>
>> Besides the fruit of the careful gardening of the as mature recognized
>> core over the years there are also a couple of new features. The
>> probably most prominent ones are (in no special order):
>>
>> - a new HTML5 parser (optional at build time, needs the gumbo library)
>>
>> - a JSON to DOM parser and a way to create JSON data
>>
>> - more capablilities of the *FromScript way of creating DOM trees
>>
>> See the CHANGES files in the top-level directory of the source
>> distribution for a more detailed list and the timeline of the official
>> tDOM repository at http://tdom.org for the complete list of changes.
>> [...]
>
> I'll download the released binaries and I'm curious about the JSON stuff.

Well, great, please give it a try and report back.

> Since you mentioned the enhanced FroMScript functionality - was tdomhtml updated, too?

No substantial changes to tdomhtml (if ever); that package works as it
did. The new features of createNodeCmd/*fromScript are only (-jsonType)
or mostly (-tagName) JSON related. Well, you now also able to create
DOM2 nodes (truly namespace aware nodes) with this (but that are
probably rare use cases, were this matters).

> And is there a tdomjson package eventually too, now?

No.What should such a package do? The tdomhtml packages does all that
createNodeCmd boilerplate for HTML4 for you, but this is a fixed, known
schema. The JSON you may have to deal with in practice will propably
also follow some "schema", but that is only known by you. It may be a
good idea to put the boilerplate for your JSON schema along the lines /
the example of tdomhtml into such a package. Then you are able to
generate the JSON you need with the tclish nested way as you generate
your HTML with tdomhtml.

rolf
0 new messages