Artifact 014245dd36bb67aa1d98ad75bdfaf4a6904bceaa9db84a0627fabff967bd3800:

  • File CHANGES — part of check-in [afde497780] at 2018-07-16 21:36:27 on branch trunk — The package name is tDOM, but it always has been requested by [package require tdom] and now the scripted helper commands in tdom.tcl are also in the namespace tdom (not anymore in tDOM). The new pullparser command is now also in this namespace. There are aliases from the old command names to the new one, so there must be nothing done; old scripts will run as they did. It's just, that you in new code don't have to write serveral upcase letters in a row because of tDOM. (user: rolf size: 14380) [more...]

2018-07-16  Rolf Ade  <>

        The package name is tDOM, but it always has been requested by
        [package require tdom] and now the scripted helper commands in
        tdom.tcl are also in the namespace tdom (not anymore in tDOM).
        The new pullparser command is now also in this namespace.
        There are aliases from the old command names to the new one,
        so there must be nothing done; old scripts will run as they
        did. It's just, that you in new code don't have to write
        serveral upcase letters in a row because of tDOM.

2018-07-14  Rolf Ade  <>

        Updated to expat 2.2.5. Expat now want to use a "good" entropy
        source to salt internal hash table (to reduce the possibility
        of DoS attacts with malicious XML input). Configure tries to
        figure out automatically the most appropriate entropy source
        on your platform. The new configure switch --with-entropy
        gives control over that. The configure switch
        --without-entropy disables all this; expat (and in turn tDOM)
        will use what was used in earlier expat versions.

2018-07-12  Rolf Ade  <>

        Updated TEA.

2018-05-17  Rolf Ade  <>

        Added new method attributeNames to domNode (cmds).

2018-05-10  Rolf Ade  <>

        Added new methods line and column to most pull parser states.

2018-05-04  Rolf Ade  <>

        More fine grain control about serialization details: new asXML
        options -nogtescape and -noEmptyElementTag.

2018-04-24  Rolf Ade  <>

        Fixed a potentially dramatic speed problem in case of certain
        classes of XPath expressions if a threads enabled tDOM is
        used, the result set is large and the DOM tree to query was
        altered somewhere before the query by an operation, which
        appended, inserted or replaced a node.

2018-03-09  Rolf Ade  <>

        Added command tDOM::pullparser, with creates simple XML "pull"
        parser commands. This commands parse XML input and stop at
        certain points ("events"). You continue parsing at your will.

2018-03-06  Rolf Ade  <>

        Fixed a potentially dramatic speed problem, if the expat
        parser is used w/ "Welch dispatch" with any 8.6 version. The
        core changed behaviour, we had to adapt.

        Added method "delete" to the [expat] push parser (as an alias
        to the still there "free").

2018-02-14  Rolf Ade  <>

        Added [dom featureinfo versionhash], which returns the fossil
        repository version hash of the sources build from.
2018-02-03  Rolf Ade  <>

        In a bunch of spell fixes a few changes (partly even marginal,
        e.g. during configuration) in error messages for uniformly
        usage of names.

2017-11-07  Rolf Ade  <>

        New flag -keepCDATA for [dom parse ...].

--- Release 0.9.0, 24. Aug. 2017 --- 

2017-08-21 Ashok Nadkarni

        Windows build system (VC and mingw) modernised.

2017-08-17 Rolf Ade  <>

        New feature "creating real FQ nodes with *fromScript methods",
        by adding option -namespace to [dom createNodeCmd].

2017-08-14 Rolf Ade  <>

        Updated TEA.

2017-07-29 Rolf Ade  <>

        Removed hacky check on [load] time if the tclsh and tDOM are
        build with incompatible TCL_UTF_MAX (because it did not work
        anymore with recent tcl because of changes in core).

2017-07-28 Rolf Ade  <>

        Added JSON support. New -json option to [dom parse]. New doc
        method asJSON. New node method jsonType. New option -jsonType
        of [dom createNodeCmd]. New option -tagName of [dom
        createNodeCmd]. New option -jsonType to dom method

2017-04-06 Rolf Ade  <>

        Added HTM5 parser (new -html5 option to [dom parse]). Requires
        gumbo lib and must be enabled at configure time.
2016-10-01 Rolf Ade  <>

        Updated to expat 2.2.0.

2015-09-11 Rolf Ade  <>

        Added options -xmlDeclaration and -encString to the asXML
        method of the domDoc and domNode commands.

2015-04-11 Rolf Ade  <>

        Changed behavior wrt to result code of a called
        -xsltmessagecmd script. Up to now, the result code of that
        script evaluation was ignored. Now, any other return code of
        that script then TCL_OK terminates the xslt transformation and
        returns error. Purposeful termination may be signaled with
        return -code break, for which the error message will be empty.

2015-04-01 Rolf Ade  <>

        Added new expat parser cmd method currentmarkup. 

2015-03-26 Rolf Ade  <>

        Added option -indentAttrs to the domDoc/domNode method
        asXML. Thanks goes to evilotto.

2014-10-16 Rolf Ade  <>
        Added configure option --with-expat, to build and link against
        the system or a custom expat lib. Default is, to use the
        included sources.

2014-01-01 Rolf Ade  <>

        Rework so some basic internals, for (even) more efficiency of
        token mode.

2013-12-24 Rolf Ade  <>

        Improved handling of characters beyond BMP. 
2013-12-20 Rolf Ade  <>

        Added option -feedbackcmd to the dom parse method. This option
        allows to specify a script, which will be called as feedback
        command. For backward compatibility, if no -feedbackcmd is
        given, but there is a tcl proc named ::dom::domParseFeedback
        then this proc is used as -feedbackcmd. If there isn't such a
        proc and -feedbackAfter is used, it is an error to not also
        use -feedbackcmd. A return -code break from the -feedbackcmd
        causes the parser to almost immediately abort parsing and let
        the [dom parse] call return the empty string (instead of a
        document) without raising error. 

        For expat parser objects: If a handler script returns -code
        return, then parsing is aborted, but no error is raised.

2013-12-04 Rolf Ade <>

        tDOM now cross-compiles on linux for windows (w32/w64) with
2013-09-26 Rolf Ade  <>

        Added dom method featureinfo.

2013-08-31 Rolf Ade  <>

        Raised the limit of maximum number of different XML
        namespaceses within one DOM tree to 2^31. New configure switch
        --enable-lessns restores old code.

2013-07-21 Rolf Ade  <>

        Updated TEA build system of tdom itself and the extensions.

2013-05-16  Rolf Ade  <>

        Update to expat 2.1.0.

--- Release 0.8.2, 15. Aug. 2007 --- See ChangeLog for details ---

2007-08-11  Rolf Ade  <>

        Now tcldomsh will source ~/.tcldomshrc at start up.

2007-08-05  Rolf Ade  <>

        In case of asXML with indentation: indent XML comments as

        Added method deleteXPathCache: basic control over the xpath
        expression cache.

        Variable references in XPath queries (at the places allowed by
        the XPath syntax) will now be resoved as Tcl variables,
        relative to the scope of the expression. Ignoring the XPath
        syntax rules at this point, any valid Tcl variable name will

2007-07-31  Rolf Ade  <>

        Update to expat 2.0.1.

2007-07-27  Rolf Ade  <>

        Updated to TEA 3.6.

2007-07-25  Rolf Ade  <>

        Fix for the -externalentitycommand problems on (some) 64-bit

2006-11-22  Rolf Ade  <>

        Normalize case of attribute also (not only elements).

2006-08-26  Rolf Ade  <>

        Updated the TEA build system to 3.5, to fix build problems
        with newer bash shells.

2005-03-18  Rolf Ade  <>
        Added the 'selectNodesNamespace' to documents, to provide a
        global XPath prefix / namespace mapping. See the user
        documentation for details.

2005-01-07  Rolf Ade  <>

        Improved VC++ compiler makefile. Thanks to Pat Thoyts for

2005-01-06  Rolf Ade  <>

        Added the methods 'transform' and 'delete' to xsltCmds.
2004-09-21  Rolf Ade  <>

        Added the '-namespaces' option to the selectNodes
        method. Not resolved namespace prefixes within the xpath
        expression now raises an error.

2004-08-20  Rolf Ade  <>

        Update to expat 1.95.8.        

2004-08-19  Rolf Ade  <>

        Made tDOM work out of the box on 64-bit systems like Itanium 2
        (again) (though --disable-tdomalloc configure option at build
        time is still needed).

--- Release 0.8.0, 11. Aug. 2004 --- See ChangeLog for details ---

2004-07-27  Rolf Ade  <>

        New method createDocumentNode.

        Added methods nodeType, getElementById, firstChild, lastChild,
        appendChild, removeChild, hasChildNodes, childNodes,
        ownerDocument, insertBefore, replaceChild, appendFromList,
        appendXML, selectNodes, baseURI, appendFromScript and
        insertBeforeFromScript to dom docs. Beside other things, this
        allows much easier handling of top level nodes. The result
        tree may not be an XML document, but a general parsed entity.

        New (experimental) method setObjectCommands.

2004-05-26  Rolf Ade  <>
        Added isPIName, isComment, isCDATA and isPIValue method to the
        dom command. Created new global (thread wide) flags for name
        and value checks (Names and FQ Names (element, attribute and
        processing instruction names), text nodes, comments, CDATA
        sections and processing instruction values). New methods
        setNameCheck and setTextCheck to control this flags.

2003-12-17  Rolf Ade  <>

        Added baseURI method, which returns the current base URI and
        has an optional argument to set the base URI. (The getBaseURI
        is deprecated.)

2003-12-11  Rolf Ade  <>

        Bug fix: Don't quash white space of non white space only
        content in trim mode.

2003-11-24  Rolf Ade  <>

        Added domDoc methods omit-xml-declaration, indent, standalone,
        encoding and mediaType.

2003-10-23  Rolf Ade  <>

        Update to expat 1.95.7.

2003-10-10  Rolf Ade  <>

        Added method normalize to domNode and domDoc commands.
2003-10-07  Rolf Ade  <>

        Added method insertBeforeFromScript to domNode commands.

2003-10-04  Rolf Ade  <>

        Added method asText to domDoc and domNode commands.

2003-09-22  Rolf Ade  <>

        Enhanced insertBefore method: If the refNode argument of that
        method is the empty string, the newNode argument will be
        inserted at the end of the list of children of the node.
2003-09-17  Rolf Ade  <>

        Added the up to now missing implementation of expatObj method
        cget. Thanks goes to Harry Moreau for his contribution.

2003-04-09  Rolf Ade  <>

        Added domDoc method toXSLTcmd, which converts the domDoc to an
        XSLTcmd. This has no advantage over the current method in
        one-shot cases (transformation of one XML document) but
        improves the speed of batch processing of several XML
        documents or server applications. The implementation was
        already included in the 0.7.7 release, only the documentation
        was not included in that release.

        Added option -paramentityparsing to the dom parse method.        

--- Release 0.7.7, 25. Mar. 2003 --- See ChangeLog for details ---

--- Release 0.7.6, 24. Mar. 2003 --- See ChangeLog for details ---

2003-03-19  Rolf Ade  <>

        Added option -useForeignDTD to dom parse and expat. Added
        domNode method 'precedes', to compare the relative order of
        two nodes out of the same document.

2003-02-22  Rolf Ade  <>

        Added posteriori (DOM) validation capabilities. See the tnc
        man page for details.

2003-02-09  Rolf Ade  <>

        Update to expat 1.95.6.    

2003-02-09  Rolf Ade  <>

        Added 'systemId' and 'publicId' methods to the domDoc
        commands. Added flag -doctypeDeclaration to the asXML and
        asHTML methods of the domDoc commands.     

2003-01-29  Rolf Ade  <>

        Changed the escaping while serializing XML data: in the past
        """ and "'" was escaped, now it isn't anymore. There isn't a
        clear rule (to the best of my knowledge) in any of the related
        specs about this, but now we do things almost along the lines,
        as saxon (which I regard as the currently most 'rule-setting'
        xslt processor) does it. In theory (from an XML viewpoint)
        this should not make a difference, but if somebody postprocess
        some tDOM output with other tools, there is a small risk, that
        things (slightly) breaks, therefor:

2002-12-28  Rolf Ade  <>

        The xslt method now understands also the options
          -ignoreUndeclaredParameters and -xsltmessagecmd.

--- Release 0.7.5, 27. Nov. 2002 --- See ChangeLog for details ---

2002-10-01  Zoran Vasiljevic  <>

	The library file lib/tdomhtml.tcl is now moved to a separate
	package in "extensions" directory. This is a simple, yet very
	"clever" HTML generator, using advanced tdom HTML capabilities.
 	To use, please change to "extensions/tdomhtml" directory and 
	invoke "configure" followed by "make", followed by "make install".
        Be sure, however, to build and install the tdom package first.