Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History of generic/tcldom.c

2019-08-12
21:12
Fix for [011e259c69]. file: [d243e86bf1] check-in: [090cdefdab] user: rolf branch: trunk, size: 265209
21:11
Fix for [011e259c69]. file: [b837bdefed] check-in: [cafa5160c0] user: rolf branch: schema, size: 266847
2019-08-06
23:35
Removed cruft for versions not supported anymore. file: [aa0dc892ad] check-in: [0117b3be8d] user: rolf branch: trunk, size: 265062
23:31
Removed cruft for versions not supported anymore. file: [493a3bb6da] check-in: [13fe3aff35] user: rolf branch: schema, size: 266700
2019-06-06
23:23
Merged from trunk. file: [7e73d27ecf] check-in: [672fc9ca28] user: rolf branch: domvalidation, size: 265870
2019-05-10
13:04
Futher work on prefixns: allow it als top level command in define script. Changed semantic to first prefix/namespace mapping in prefixUriList wins, if there are several prefixes mapping to different namespaces. file: [3ffc9edd5a] check-in: [a70c1d6c6e] user: rolf branch: schema, size: 267241
2019-05-09
18:33
Merged from trunk. file: [543a2ec166] check-in: [05a6175f48] user: rolf branch: schema, size: 267200
18:31
Reworked (and renamed) selectNodesNamespaces to make it usable from elsewhere and made it public. file: [292b8795a7] check-in: [4ca5de8963] user: rolf branch: trunk, size: 265603
2019-03-15
15:17
avoid usage of fallback to __tdomGC at global/NS level, this way it could prevent a leakage of tree in the global var __tdomGC (only affected if current level is global/NS) file: [18cce6bea5] check-in: [7fca63fe3f] user: sebres branch: fix-traced-gc-regression-of-091-cr1, size: 266460
2019-03-14
15:38
small amend, removing the previous trace in case to wrap to __tdomGC file: [db24762977] check-in: [ff7642f303] user: sebres branch: fix-traced-gc-regression-of-091, size: 265463
15:24
try to explain and fix regression of traced GC, introduced in tdom 0.9.1 file: [2a128cab89] check-in: [c466f47988] user: sebres branch: fix-traced-gc-regression-of-091, size: 265372
2019-02-17
23:18
More work on text types. Added automatic schema reset after using schema command during dom building or sax event parsing. file: [7418bcb785] check-in: [bd8b0eecee] user: rolf branch: schema, size: 267143
2019-01-24
12:26
Merged from trunk. file: [0368e80337] check-in: [876f8ceb08] user: rolf branch: schema, size: 267077
2019-01-23
15:17
According to [d3ccaf4252f27f] the serializing option -escapeNonASCII doesn't work (correct) on big-endian machines. Probably fixed by this; waiting for reporter feedback. file: [f857bf5758] check-in: [6722cfb2c4] user: rolf branch: escapeNonASCII, size: 265546
2019-01-09
00:47
Enable validation features by default (with easy configure disable switch). file: [3393b9b15e] check-in: [589a5b2a86] user: rolf branch: schema, size: 266865
2018-12-21
16:12
Added [dom featureinfo schema]. Added minimal stub of a to tDOM schema script converter. A few minimal steps onto attribute checking. file: [8de5d4d410] check-in: [2b419f7d20] user: rolf branch: schema, size: 266774
2018-12-14
09:54
Merged from trunk. file: [635ae8ada0] check-in: [6a48682b06] user: rolf branch: domvalidation, size: 265601
2018-12-06
22:13
Renamed structure to schema. file: [4aabd7c352] check-in: [084cbc63a1] user: rolf branch: schema, size: 266596
2018-11-21
23:44
Lesser #ifdef. file: [214098bf56] check-in: [e4c7f3f52f] user: rolf branch: structure, size: 266617
2018-11-19
01:14
wip file: [6ac6b5c131] check-in: [9d4517dd7e] user: rolf branch: structure, size: 266750
2018-11-18
02:21
Added [dom parse] option -validateCmd, which expects a structure validation command as argument and validates (as far as implemented atm) the document while building the DOM tree. file: [46cc6cd646] check-in: [75cec95b45] user: rolf branch: structure, size: 266518
2018-08-08
22:39
Changed the license to MPL 2.0. file: [1e42c90110] check-in: [39f9d6bbbf] user: rolf branch: trunk, size: 265334
2018-07-27
10:06
Merged from trunk. file: [0ee76bb6ee] check-in: [d50d0f374e] user: rolf branch: stackless_asXML, size: 268206
2018-07-25
23:12
Merged from trunk. file: [ce7a07c96d] check-in: [d554f9574e] user: rolf branch: domvalidation, size: 265601
2018-07-17
00:23
Some --pedantic compiler pacifying. file: [4e7e8c3dcd] check-in: [491081c44c] user: rolf branch: trunk, size: 265334
2018-07-12
22:05
The pullparser command (and implementation) can be disabled with a define. file: [1e1ead7b48] check-in: [66f5a1c0cd] user: rolf branch: trunk, size: 265264
2018-07-10
22:25
More typo fixes. Thanks goes to Gustaf Neumann. file: [cc79037408] check-in: [26cf441c85] user: rolf branch: trunk, size: 265084
2018-06-09
00:22
Editorial changes to pacify a few compiler warnings. file: [4f3c25dfe7] check-in: [f56cc2fc46] user: rolf branch: trunk, size: 265081
2018-06-04
13:03
Refer the node cmd/token that isn't a domNode in error msg. file: [b96e32d57b] check-in: [cde666b194] user: rolf branch: notANodeMsg, size: 265114
2018-05-23
22:26
Merged from trunk. file: [8c880c361d] check-in: [7505ede59d] user: rolf branch: domvalidation, size: 265028
2018-05-17
23:46
Small improvement (and optimization) of the domNode attributes method. file: [1d71fa9c59] check-in: [054337d785] user: rolf branch: trunk, size: 264761
02:07
Explained better what the domNode attributes method does and added a few words of documentation about the new simple attributeNames method. file: [6c2fdaf81e] check-in: [e212f6deff] user: rolf branch: attributeNames, size: 264775
2018-05-15
00:10
Added attributeNames method to domNode (cmds), simply returning the literal attriubte names. file: [3d776a152c] check-in: [acce545518] user: rolf branch: attributeNames, size: 264727
2018-05-04
22:24
Merged from trunk. file: [1288576a9c] check-in: [b8bdad56db] user: rolf branch: domvalidation, size: 263954
17:51
Fixed attribute serialization (an omit of the last merge conflict resolve). file: [6835f149ce] check-in: [6cad169b8f] user: rolf branch: stackless_asXML, size: 266559
17:09
Merged from trunk. file: [bb427c85ed] check-in: [2233d2d25a] user: rolf branch: stackless_asXML, size: 266501
2018-05-03
23:49
Added flags -nogtescape and -noEmptyElementTag to the asXML method. file: [13b5d1953c] check-in: [a9786e0525] user: rolf branch: serializeOptions, size: 263687
20:56
Merged from trunk. file: [f3906d1f7d] check-in: [43e858d8cf] user: rolf branch: serializeOptions, size: 262608
14:31
Musing about nodeToken Obj type test. file: [d6b99dc6b2] check-in: [c09a9b5b89] user: rolf branch: nodeTokeTest, size: 263323
00:19
Simplified code. file: [38f5b2145f] check-in: [ef832dfa80] user: rolf branch: trunk, size: 262349
2018-05-02
20:34
Don't ignore error while setting nodeObjVars. file: [1b79aa4c15] check-in: [a231fcafa2] user: rolf branch: trunk, size: 262546
15:12
Removed "support" for Tcl 8.0 - it probably doesn't even build any more. Eventually it's time prune out this #ifdefery. file: [4d0e774a7d] check-in: [d729de4c39] user: rolf branch: abandon80, size: 262438
2018-04-30
23:55
Merged from serializeOptions file: [a339fc6275] check-in: [2f998e59f5] user: rolf branch: stackless_asXML, size: 267937
23:32
More work on serialization flags. file: [7c0e69fc19] check-in: [617801ee8e] user: rolf branch: serializeOptions, size: 265219
14:41
Minor speed optimization. file: [a5d41b5665] check-in: [19edb1e323] user: rolf branch: serializeOptions, size: 265467
09:55
Start small rework: use bit-fields for options. file: [1c30960885] check-in: [a833b3edf3] user: rolf branch: serializeOptions, size: 265422
2018-04-25
11:04
merge trunk file: [b47deace77] check-in: [d48f501330] user: yorick branch: pyk-parsexpath, size: 268443
2018-04-23
21:40
Pacify [696962e4dd42505]. file: [275db4b83e] check-in: [f1a4004602] user: rolf branch: tokenMode, size: 264934
2018-04-07
01:01
Merged from trunk. file: [11cc7d380b] check-in: [85c3c7cf1e] user: rolf branch: domvalidation, size: 264839
00:51
Builds now with 8.4 (and maybe even with 8.3) until (current) 9.0. Test suite needs some more updates to work w/ 9.0 without errors. file: [16abb502fc] check-in: [9eb5979f33] user: rolf branch: deCONST, size: 264572
2018-04-06
15:57
Merged from trunk. file: [fee2b88391] check-in: [7b9d2c1ea6] user: rolf branch: deCONST, size: 264033
2018-03-27
08:55
merge trunk file: [899d27fcf3] check-in: [74a41afcca] user: yorick branch: pyk-parsexpath, size: 267939
2018-03-25
01:00
Added reporting. Basically works. file: [287f1dd52c] check-in: [c3fc6b8de5] user: rolf branch: domvalidation, size: 264335
2018-03-24
02:04
Started musing about what it means to integrate XML DTD validation into the dom command (on various scales). file: [9df4b3162e] check-in: [5bd1293e53] user: rolf branch: domvalidation, size: 264335
2018-03-06
22:48
Done something with [e831cf931a07d]. file: [5ec78e1acb] check-in: [a99a29a3aa] user: rolf branch: trunk, size: 264068
2018-03-01
12:47
Eliminate tabs. Closed branch. See issue [e831cf931a]. file: [2552ce3d9a] check-in: [69d2001fef] user: yorick branch: issue-e831cf931a07-tdom_Finalize, size: 264279
08:13
Fix for [e831cf931a07] file: [05938441ca] check-in: [34806d3b29] user: yorick branch: issue-e831cf931a07-tdom_Finalize, size: 263985
2018-02-27
09:36
Avoid define redefinition, introduced with changes for [e6ccc3c1fac1]. file: [c60601512b] check-in: [d3b6eabb2b] user: yorick branch: pyk-parsexpath, size: 267875
09:35
Fixed [e6ccc3c1fac1eb]. file: [322e1b775e] check-in: [b66886b8c2] user: yorick branch: pyk-parsexpath, size: 267928
2018-02-24
15:52
Avoid define redefinition, introduced with changes for [e6ccc3c1fac1]. file: [228e8353a1] check-in: [d5ec6fc888] user: rolf branch: trunk, size: 263753
2018-02-23
01:47
Fixed [e6ccc3c1fac1eb]. file: [5ef91f1333] check-in: [ecc68384d0] user: rolf branch: trunk, size: 263806
2018-02-22
12:49
Fixed the recently broken build w/ --enable-threads. file: [e584dc78e1] check-in: [c05bde9469] user: rolf branch: trunk, size: 263516
11:12
Make modifications necessary to support new %nodetest functionality. All tests pass except xpath-5.56, and that may be a problem in the test itself. file: [50a9b39968] check-in: [0fcd6c63e6] user: yorick branch: pyk-parsexpath, size: 267386
06:21
Merge trunk, breaking things. file: [d0bf31a8f1] check-in: [9927f3c39e] user: yorick branch: pyk-parsexpath, size: 265675
01:46
More pruning out history: all that CONST and even CONST84 business. file: [01b48847a7] check-in: [659134bc9a] user: rolf branch: deCONST, size: 263443
00:57
A bit modernizing and gardening of the code base (e.g. pruning out pre-ansi stuff). Work mostly done by Gustaf Neumann. file: [e84295b213] check-in: [da20a637cf] user: rolf branch: trunk, size: 263478
2018-02-21
12:30
Removed the now unused interp argument from domCreateDocument. file: [ce5730f107] check-in: [d0fbb5904c] user: rolf branch: trunk, size: 263474
00:24
Made behaviour of the code match expectation: if a var is read-only you shoudn't be able to set it anyway. file: [253b2ece42] check-in: [20ad681036] user: rolf branch: trunk, size: 263495
00:09
Respect [dom setNameCheck] even for [dom createDocument/createDocumentNS ...] Thanks to pooryorick for reporting. file: [1c18a13353] check-in: [66acb1bd7d] user: rolf branch: trunk, size: 263386
2018-02-08
22:13
Added versionhash to dom featureinfo, returning the fossil repository hash of the version tDOM was build from. A mechanism to build versionhash.h on windows is to be done. file: [0dd129c60f] check-in: [5938460068] user: rolf branch: versionhash, size: 263006
2018-02-03
00:22
More spell fixes and unification of names. A few messages (in marignal cases as configuration or in error cases) changed. file: [513efff14e] check-in: [de204a84e6] user: rolf branch: trunk, size: 262871
2018-02-01
00:16
A couple of spell fixes / typing error corrections. Thanks goes to Gustav Neumann. file: [6c97ea1685] check-in: [4897033c1b] user: rolf branch: trunk, size: 262871
2018-01-31
16:58
Save wip. file: [e1436f7f25] check-in: [f8e25c96f4] user: rolf branch: stackless_asXML, size: 265505
2017-12-13
23:47
Still not exactly the same output as the current serializer but close. file: [37bdf1cf55] check-in: [9c7e75e752] user: rolf branch: stackless_asXML, size: 265188
2017-12-12
21:58
Save work for discussion. file: [23b2c45b94] check-in: [dbf205286d] user: rolf branch: stackless_asXML, size: 265388
2017-12-11
22:45
Ripped out stackless XML serialization from stacklessfs into own branch, while further working on it. This may be a worth thing for itself, since expat digests really deeply nested XML. wip. file: [099fd764a0] check-in: [fe454a1b53] user: rolf branch: stackless_asXML, size: 264309
2017-12-09
02:16
More work on stackless xml serialization. Still deep wip. file: [f414030056] check-in: [120e42774d] user: rolf branch: stacklessfs, size: 274783
2017-11-25
14:23
Working with deep nested XML data should also mean to be able to serialize it. Started implementation of non-recursive asXML. Wip. file: [3e0a299b46] check-in: [d04f2a20fe] user: rolf branch: stacklessfs, size: 274059
2017-11-23
00:59
Exploring stackless fromScript script code evaluation. file: [9a281c32ba] check-in: [0a1f7977fe] user: rolf branch: stacklessfs, size: 263044
2017-11-21
22:13
Replaced the deprecated Tcl_EvalObj with its successor. file: [80709193f9] check-in: [c4d91cd3e9] user: rolf branch: trunk, size: 262869
2017-11-06
00:57
Made simple XML parser ([dom parse -simple ...]) -keepCDATA aware, with the same semantic as for the standard expat parser. file: [b008dd4e63] check-in: [5809c91591] user: rolf branch: keepCDATA, size: 262864
2017-11-04
02:00
Started implementation of a "keep CDATA sections" switch to [dom parse ...]. file: [9562b259ae] check-in: [1cd6dcbed5] user: rolf branch: keepCDATA, size: 262811
2017-10-01
01:11
Musing: Provide useful errorCode information in case of [dom parse ...] error. file: [74dbfcf4d8] check-in: [8dd6cf7f01] user: rolf branch: errorCode, size: 262837
2017-08-31
15:30
Reduced the fall out of this on user API level. $node delete now does the same as it does in threaded builds anyway. Restored "moving" subtrees between documents by copying the subtree over and delete it it after (that's of course slower), made appendXML also work (there's room for more improvement, even for the non-fastfree case). Even line/number info seems possible. Still some things to fix, check and improve. file: [ae3f3db055] check-in: [b17f640f6f] user: rolf branch: fastFree, size: 263530
02:47
Exploring optimization possibilities. Using doc specific simple mem pools speeds up a [dom parse $xml doc; $doc delete] by a factor of 1.25 (though, while DOM tree building is also slightly faster most of the gain is a much faster doc free). Test suite runs valgrind clean. Some tests fail but most of them do rightly so. Because this has a price: no subree move between documentes (the DOM recommendation doesn't allow this but tdom did, so far), no [domNode delete] (but this in fact freed the memory already only in non-threaded builds), no line/column information. Needs creation of nodeCmds in doc specific namespace for cleanup of the tcl commands in one go (to be implemented) and thread safety consideration. If all goes well and still looks as a gain could be integrated in a switch on/of at runtime way. file: [8ef59fa44f] check-in: [1965531605] user: rolf branch: fastFree, size: 263089
2017-08-17
14:30
Documented the new feature "creating real FQ nodes with *fromScript methods'. Added checks to createElementNS and createDocumentNS to prevent them to create xmlns prefixes with empty uri (which are not legal). file: [45af7a0367] check-in: [9e7f64d9c5] user: rolf branch: nodecmdns, size: 262551
00:15
Pacify compiler warnings. file: [e58dc5d4f0] check-in: [59d4d6b060] user: rolf branch: trunk, size: 262353
2017-07-29
12:21
Removed all that TCL_UTF_MAX cruft, that tries to do the right thing. This is all a dubious hack without proper core support. Until we have that (if ever) it's the responsibility of the user to not mix core and binary extension build with different TUM. file: [200ff0e388] check-in: [549b689298] user: rolf branch: trunk, size: 262342
2017-07-20
22:33
Started documentation. Adjusted the code to do, what the doc say. file: [c37bca7caf] check-in: [86b81a0c23] user: rolf branch: json, size: 262941
00:00
Handling of binary 0 (NUL). Escape all control characters outside the ones with short escapes as as unicode character escapes. file: [42645e0c15] check-in: [baf7e7d324] user: rolf branch: json, size: 260956
2017-07-19
18:06
createNodeCmd: check, if the provided jsonType is valid for the node command to create. file: [c393f7f879] check-in: [9f5f333bad] user: rolf branch: json, size: 260388
16:08
The parse options -html, -html5 and -json are mutually exclusive. file: [e9b24a4df3] check-in: [9d8d7a159b] user: rolf branch: json, size: 260372
15:02
Implemented optional indentation of asJSON output. file: [a4bcae2d82] check-in: [004f5b1f74] user: rolf branch: json, size: 260174
13:26
More work on the JSON serializer to ensure, that serializing any (not json type hinted) DOM tree results in valid JSON string. file: [c508c3322a] check-in: [2299091520] user: rolf branch: json, size: 258909
2017-07-17
23:28
Added -jsonType option to the createDocumentNode method. Intermediatly gardening. file: [54dcaa31c2] check-in: [57a3a1ce1c] user: rolf branch: json, size: 258194
2017-07-14
23:59
Added more jsonType hinting to createNodeCmd / appendFromScript. On the way added the new option "-tagName" for createNodeCmd. If given, the nodeCmd will create element nodes with the nodeName eq the -tagName value. This had not much value, up to now, but with JSON it may be needed, if a members value is sometimes an object and sometimes an array and the user insists in setting the jsonType anyway. file: [266d28e35c] check-in: [de1782fd97] user: rolf branch: json, size: 257473
00:44
Changed jsonType to symbolic names. DomDocs now also may have a jsontype. Other minor tweaks. file: [d13b06d430] check-in: [e29235a43e] user: rolf branch: json, size: 257471
2017-07-13
19:11
Still accept an escaped slash (\/) as slash in input (as required by the spec), but don't escape slash in serialization, because a slash isn't required to be escaped in input (it just can be). file: [5e74fac428] check-in: [65e76f96e0] user: rolf branch: json, size: 256540
01:41
Build a compact tree; handle JSON types "magically". The recommended tools (which do the magic automagically) as appendFromScript et al enhancements and additional syntax for XPath expressions are tbd, but with the also added jsonType method it should now not even possible to parse all valid JSON but also to generate any JSON by building up a DOM tree from the scratch and serializing it with asJSON. file: [e2e3371dc9] check-in: [72b69e3ec3] user: rolf branch: json, size: 256612
2017-07-12
21:07
Combine memory allocations in tcldom_selectNodes and move cleanup into tcldom_FreePvcd. file: [7931adda0f] check-in: [ee1833d642] user: yorick branch: pyk-parsexpath, size: 243822
2017-07-11
23:01
Remove staticTokenPtr from tcldom_ParseVarData and use NULL as the fixup marker instead. file: [c323f429d9] check-in: [e6cf5cb835] user: yorick branch: pyk-parsexpath, size: 244112
22:24
Removed build breaking artifact, introduced with [518504411f16]. file: [976cfe8cbd] check-in: [ab13e17c86] user: rolf branch: trunk, size: 240252
22:18
Removed build breaking artifact, introduced with [518504411f16]. file: [5bd21d9bcc] check-in: [fd02176cec] user: rolf branch: json, size: 258488
21:26
selectNodes needs to store the Tcl_Obj that is passed to Tcl_ParseVarName in tcldom_xpathParseVar because the Tcl_Token.start values point into its string value. file: [e473fad528] check-in: [ccc182cde5] user: yorick branch: pyk-parsexpath, size: 244582
19:34
Merged from trunk. file: [f1fcb6851e] check-in: [e6c68d83fe] user: rolf branch: json, size: 258514
2017-07-05
00:22
Fixed the 'latent bug' mentioned in ticket [d0405aff34]. file: [9bd0814d13] check-in: [518504411f] user: rolf branch: trunk, size: 240278
2017-07-03
20:39
So far, for now. file: [85e8f2423d] check-in: [0c6df91ce5] user: rolf branch: wip, size: 244395
14:28
More progress. file: [9db42e15e8] check-in: [2d793fe147] user: rolf branch: wip, size: 243182
00:21
Still work in progress. file: [27a751672f] check-in: [e5c042fb0d] user: rolf branch: wip, size: 242825
2017-07-01
14:17
Work in progress. file: [3571c81ecc] check-in: [42b8823f76] user: rolf branch: wip, size: 243515
2017-06-30
23:01
Fixed some problems in the code. Saved before attempt to greater rework, to takle others. file: [99b74cf4a0] check-in: [41e23c35ea] user: rolf branch: pyk-parsexpath, size: 242738
10:28
Separate XPath parse and eval function steps and move variable access from parsing step to eval step. file: [e3f8f7de46] check-in: [20779fa343] user: yorick branch: pyk-parsexpath, size: 242531
2017-05-09
22:13
Last state before I understood, that this could never be the "right" thing or involve into something good. There are better concepts, to deal with JSON w/ tDOM. file: [753bcd9fd8] check-in: [96c82f8a34] user: rolf branch: json, size: 258249
2017-05-01
23:21
Added serializer. Some edge case, convenience flags and more testing to be done. file: [0a5325fe93] check-in: [5481915769] user: rolf branch: json, size: 257819
2017-04-19
23:25
Merged from trunk and changed respectively. file: [3958953ed2] check-in: [71f5139f11] user: rolf branch: wip, size: 250192
23:15
Removed unused parameter from domNewElementNode and domNewElementNodeNS- file: [476047a3af] check-in: [c7e9aae252] user: rolf branch: trunk, size: 240013
22:58
In the middle of some rework. file: [d540388638] check-in: [aa6e9da5a3] user: rolf branch: wip, size: 250234
2017-04-15
13:22
Save work in progress for transport. file: [de7ab27e96] check-in: [1dddd40b6e] user: rolf branch: wip, size: 250223
2017-04-14
01:06
Added boilerplate for a JSON serializer. file: [3af68ececc] check-in: [36d8b4b3c6] user: rolf branch: json, size: 247293
2017-04-13
15:23
Limit the depth of recursion for valid JSON in the JSON parser in order to avoid using excess stack space (seg fault). Default: maximum allowed nesting is 2000. That default could be changed at build time. The default could be queried with [dom featureinfo jsonmaxnesting]. May be set on call by call base with the new [dom parse ...] option -jsonmaxnesting. file: [4d801a0680] check-in: [a139d28a41] user: rolf branch: json, size: 243524
2017-04-12
21:09
Added "--" as optional flag to [dom parse ...], signaling the end of options. file: [a3def98668] check-in: [e98ace106f] user: rolf branch: json, size: 242341
2017-04-09
00:59
Improved error reporting. file: [8c912f3317] check-in: [0a8a1c0e15] user: rolf branch: json, size: 242164
2017-04-07
23:57
Changed, improved and cluttered with the correct XML namespace limbo dance the handling of ture, false, null. Partly to lower the 'fall out' of this: new option -jsonroot, which expects the document element name of the DOM tree to create. Ignored, if not used together with -json. Fixed parsing of emtpy string values. file: [751cfbc8d6] check-in: [672650884f] user: rolf branch: json, size: 241307
16:25
Started implementation of JSON support. Parsing a JSON string into a DOM tree (via the new [dom parse -json] option) basically works. Work out of some details needs to be done, as well as serialization back to JSON. file: [dbf7a4797f] check-in: [7ba8482d10] user: rolf branch: json, size: 240614
2017-04-04
23:58
Changed default of --enable-html5 back to off. By following the rules now the generated DOM trees are "namespaced", the HTML tags in the xhtml, the sgv and mathml tags and the xlink attributes in their respectivly namespaces. Since this probably isn't wanted by a lot of users and adds only burden for no good in a lot of use cases -html5 can be combined with -ignorexmlns, in which case all nodes and attributes in the DOM tree are not in an XML namespace. Added a few words of documentation and tests. file: [3d7c280e43] check-in: [15f1033a6f] user: rolf branch: html5_by_gumbo, size: 240055
2017-03-25
01:32
Made it build also with just the default ../configure again. file: [57df81edff] check-in: [5c13a6975f] user: rolf branch: html5_by_gumbo, size: 240097
01:18
Added an experimental dom parse -html5 option, that uses the gumbo library (https://github.com/google/gumbo-parser) to generate a tdom DOM tree out of (html5) input. It's disabled, by default, enable it with ../configure --enable-html5. This link against the gumbo lib and therefor require that to be installed. file: [20789d7c5b] check-in: [5f8d95de29] user: rolf branch: html5_by_gumbo, size: 240114
2015-09-11
00:44
Added options -xmlDeclaration and -encString to the asXML method of the domDoc and domNode commands. file: [3a53ac985a] check-in: [400d92fee5] user: rolf branch: trunk, size: 238738
2015-09-07
14:08
Fixed HTML serialization of CDATA Sections. file: [33268c3000] check-in: [230278ccf5] user: rolf branch: trunk, size: 237071
2015-08-28
17:45
Added limit (default 3000) for depth of nesting xslt apply templates. Added -maxApplyDepth option to xslt transformation, to set this limit. file: [73fdc09525] check-in: [a52f940880] user: rolf branch: trunk, size: 237055
2015-08-05
14:30
Removed another unnecessary variable initialazation. file: [36a7208eb8] check-in: [16e874d04d] user: rolf branch: trunk, size: 236202
2015-04-10
23:59
Sorted out how it will be, for now. Documented it somewhat. file: [c2f4ed07d0] check-in: [be9cfa8f2d] user: rolf branch: xsltmsg, size: 236211
2015-04-04
12:58
Save changes. file: [3e6b9ddf4b] check-in: [d296766c6c] user: rolf branch: xsltmsg, size: 236112
2015-04-02
00:11
Merged from trunk. file: [11b2f78907] check-in: [a441d3472d] user: rolf branch: xsltmsg, size: 236106
2015-04-01
23:00
Merged from trunk. file: [83f1af2aeb] check-in: [4ac7a71245] user: rolf branch: TDOM_NS, size: 235978
2015-03-26
11:29
Enforce value range for -indentAttrs value. file: [9df2299164] check-in: [ac03b8c44e] user: rolf branch: trunk, size: 235575
01:17
Now, -indentAttrs expects an argument, 0..8 or no/none and indends the attributes relative to their element by the given value. file: [fb1be49be4] check-in: [ca5b82767d] user: rolf branch: indentAttrs, size: 235475
2015-03-25
23:00
Merged from trunk. file: [5881c7affb] check-in: [3b71a11611] user: rolf branch: indentAttrs, size: 234731
2015-03-01
03:48
Made node detection from string token more reliable. file: [23b1c1ab16] check-in: [3401eb3d6b] user: rolf branch: trunk, size: 234139
2015-02-14
15:34
Started to add ability to terminate xslt processing by return code of the xsltmsgcmd. file: [910861182f] check-in: [18189825f9] user: rolf branch: xsltmsg, size: 234115
2015-01-25
13:17
Better error msg. file: [04992dbc6f] check-in: [6bb4eda2c7] user: rolf branch: trunk, size: 233987
01:01
Still hardening the xpath engine against random input. file: [58bde9a293] check-in: [cda6ae28c1] user: rolf branch: trunk, size: 233982
2014-11-27
14:58
Merged from trunk. file: [5845f6c65d] check-in: [a154b27b05] user: rolf branch: TDOM_NS, size: 234109
2014-11-05
23:53
Fixed a bug in the implicit string result short return path of tcl scripted additional XPath functions. file: [4fa36c7e90] check-in: [55e2fefda5] user: rolf branch: trunk, size: 233706
2014-04-10
14:39
Started to migrate the build time TDOM_NS hack to a runtime parse option. file: [f0e876b9e7] check-in: [93da576a41] user: rolf branch: TDOM_NS, size: 234068
2014-03-07
00:25
added "indentAttrs" option to domNode asXML that adds newlines in between attributes file: [efb34d70ed] check-in: [190f3c4596] user: evilotto branch: indentAttrs, size: 234257
2014-01-01
04:03
Made tcldom_returnNodeOjb static. file: [21fad84be9] check-in: [40b95f4a60] user: rolf branch: tdomNodeType, size: 233665
2013-12-31
18:01
Most obvious, low hanging fruits of the tdomNodeType Tcl_Obj reform are harvested now. A lot of (if not most) operations in token mode are faster (some micro-benchmark measurements say roughly double speed (or even more)). Even operations in cmd mode seem to be a little bit faster, for whatever reasons. Valgrind checked test suite run is still fine. Because this are changes within the heart of the extension, I'll test this futher in real-live applications, before merging this into trunk. file: [bc39679ed7] check-in: [9b93825de2] user: rolf branch: tdomNodeType, size: 233658
2013-12-30
19:52
Return tdomNodeType Tcl_Objs from a couple of methods (still some to do), if in token mode. file: [ea8547daf9] check-in: [7d85454598] user: rolf branch: tdomNodeType, size: 233087
2013-12-29
23:47
Continue work: tdomNodeType works, next step will be to use that. file: [43e2cef0a4] check-in: [bb9692ad56] user: rolf branch: tdomNodeType, size: 232025
2013-12-28
14:51
Start tdom Tcl_ObjType reform. file: [736a469a41] check-in: [06841faa5b] user: rolf branch: tdomNodeType, size: 231972
2013-12-27
21:56
More #ifdefery, to handle tip 388 changes to tcl.h. file: [237dec9a38] check-in: [ebe56a3001] user: rolf branch: trunk, size: 232828
2013-12-23
02:19
Handled this mess even further. New dom method isBMPCharData, to check, if a string has only characters out of the BMP. With TCL_UTF_MAX > 3 even 4 byte utf-8 character will be serialized as character entities only with -escapeNonASCII. With TCL_UTF_MAX = 3 (the default of the core) 4 byte utf-8 character will always be serialized als character entities, even if -escapeNonASCII is not given. If tDOM was build against a core with other TCL_UTF_MAX then the interpreter, which [load]s it, it complains and raises error. New dom featureinfo subcommand TCL_UTF_MAX, which returns the TCL_UTF_MAX value of the tcl core, tDOM was build with. file: [e75bde6367] check-in: [ab3fea493c] user: rolf branch: beyondBMP, size: 232685
2013-12-21
13:21
Don't panic while serializing 4 bytes utf-8 chars, just write them as character enities. file: [356b507309] check-in: [24d35f6835] user: rolf branch: beyondBMP, size: 231884
2013-12-20
03:45
Handler script return codes other than -code ok, -code continue or -code break causes parse abort (via XML_StopParser). New feature: If a handler script returns -code return, then parsing is aborted, but no error is raised. file: [4496d478ce] check-in: [f8cab49830] user: rolf branch: abortableParse, size: 231485
2013-12-19
18:31
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. file: [c64b887a3b] check-in: [db8378c250] user: rolf branch: abortableParse, size: 231445
2013-12-16
01:12
Improved error msg handling for recursive external entities. file: [62f7834417] check-in: [4b9e219335] user: rolf branch: abortableParse, size: 230202
2013-12-14
02:50
Futher work. file: [d42c79c114] check-in: [b9ee715299] user: rolf branch: abortableParse, size: 229375
2013-12-06
23:12
Worked through compiler warnings, removed or cleand up some cruft. Less noisier build (at least for my current tool chain). file: [521d87b5ec] check-in: [99765c41e5] user: rolf branch: trunk, size: 228847
2013-09-21
23:44
Added dom method featureinfo. file: [903855c6e8] check-in: [2877d5b58a] user: rolf branch: dom_featureinfo, size: 228764
2013-09-06
22:44
Added new option -legacy to the domNode cmd error msg text. file: [a3b23315f5] check-in: [e799d2e8c5] user: rolf branch: toXPath, size: 226396
22:36
Fixed toXPath, which didn't worked at all for namespaced nodes without a prefix and with namespaced nodes with prefix not for patholotical cases. Because the string result of the toXPath method changed even in cases, which did work there is a new option -legacy, that returns the old string value.The -legacy option will go away, in future clean ups, if it show. file: [8f7124b916] check-in: [1745c828bc] user: rolf branch: toXPath, size: 226396
2013-08-16
14:59
Fixed memory corruption in case of scripted xpath function with an attribute as context node (reported by https://github.com/tDOM/tdom/issues/16). file: [1bd3cb71b5] check-in: [d5664646d6] user: rolf branch: trunk, size: 226056
2012-05-17
21:12
Compatibility with Tcl 8.6 - Beginning with 8.6, interp->errorLine isn't public visible anymore (TIP 330). file: [0825516d87] check-in: [411908be4f] user: rolf@point.pointsman.de branch: trunk, size: 225528
2007-12-25
23:18
Fixed a memory leak in case of --enable-threads. file: [4161782831] check-in: [96ee41816c] user: rolf branch: trunk, size: 225521
2007-08-18
12:51
More constification and clean up. file: [dc02b10b19] check-in: [a3bd6b4470] user: rolf branch: trunk, size: 225139
00:33
Big const ification. file: [a95d624239] check-in: [d68baf7688] user: rolf branch: trunk, size: 225121
2007-08-12
11:55
Updated the asXML related parts of the doc and node cmd usage msg. Corrected a typo in the error msg in case of wrong # of args to asXML. file: [9cc7c2ade1] check-in: [f5076031ca] user: rolf branch: trunk, size: 225050
2007-08-11
00:04
Updated error msg in case of wrong # of args to the asXML method to the new added option -escapeAllQuot. file: [ace3d5e89c] check-in: [1b47625393] user: rolf branch: trunk, size: 224955
2007-08-07
20:10
Changed domDoc->documentNumber, domUniqueNodeNr and domUniqueDocNr to unsigned long, to prevent hard to debug / reproduce problems on 64 systems. file: [ef085b8846] check-in: [47be960351] user: rolf branch: trunk, size: 224910
2007-08-05
17:52
Casted arg of ctype.h is* macros/function calles to unsigned char to reduce compiler warning noise. file: [a3169b254b] check-in: [523049bfc6] user: rolf branch: trunk, size: 224910
17:27
In case of asXML with indentation: indent XML comments as well. file: [32ddd36502] check-in: [afb7224400] user: rolf branch: trunk, size: 224895
16:52
Fixed a mem leak introduced by deleteXPathCache. Added option -escapeAllQuot to the asXML method. file: [aaf4b219ef] check-in: [6f8271b479] user: rolf branch: trunk, size: 224727
02:11
Added method deleteXPathCache: basic control over the xpath expression cache. file: [0f2f74ed66] check-in: [4ff79014b6] user: rolf branch: trunk, size: 224252
01:15
Variable references (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 work. file: [d178298d8b] check-in: [3843d517af] user: rolf branch: trunk, size: 223009
2007-08-02
23:43
Added doc method renameNode, without XML namespace awareness. There will be a final (XML namespace aware) method implementation after 0.8.2, therefore, this will slip in as hidden or 'unsupported' and at least undocumented method. file: [6fc5aff96a] check-in: [5f42d91a2e] user: rolf branch: trunk, size: 221613
2007-07-31
00:23
Update to expat 2.0.1; minor build cosmetic. file: [4efbcc66a0] check-in: [8ef882fd3e] user: rolf branch: trunk, size: 220115
2005-06-10
00:21
Internal dispersion: Cleaned up rootNode/toplevel nodes connection, added new function domSetDocumentElement. Closed memory leak in case of not well-formed input to the simple or html parser. file: [32047b9784] check-in: [2d252a117c] user: rolf branch: trunk, size: 220111
2005-05-12
17:11
Fix: domNode nodeValue $newValue didn't check the newValue for being valid pcdata. file: [c339ee4d74] check-in: [0a6e18b84c] user: rolf branch: trunk, size: 220531
2005-03-18
02:17
Added document method selectNodesNamespaces, to provide a document global XPath prefix/namespace mapping. file: [40674e45bc] check-in: [aa91d3c654] user: rolf branch: trunk, size: 220012
2005-02-26
13:25
Fix for MT-enabled tDOM: If a doc was attached to more than one thread, nodeCmd creation was borken (only one thread got a nodeCmd for a given node). file: [7fe8137cb9] check-in: [eff67db5ef] user: rolf branch: trunk, size: 217679
2005-02-03
18:21
Added support for xsl:output cdata-section-elements attribute. Added method cdataSectionElements to domDocs, as tcl interface to cdata-section-elements. file: [b23c346cc4] check-in: [affe666ca5] user: rolf branch: trunk, size: 217757
2005-01-10
02:11
Don't embed Tcl_HashTables into dom Docs, use pointers to the hash table. Added -cache option to the selectNodes method. file: [dc761d8ce3] check-in: [1bc3712dbc] user: rolf branch: trunk, size: 210905
2005-01-07
15:08
Clean up, to decrease (innocuous) compiler warnings (thanks to Pat Thoyts for triggering input and patch). file: [8d5bf990df] check-in: [557cc56ed2] user: rolf branch: trunk, size: 210114
2005-01-06
19:20
Handle multiple -namespaces option to selectNodes method. Added methods transform and delete to xsltCmds. Ensure, that documents created with the [dom createDocument* methods] are created as docCmds in case of 'auto' creation mode. file: [46ddaed554] check-in: [66fc252099] user: rolf branch: trunk, size: 210108
2004-09-29
11:41
Added the with 0.8 added doc methods to the doc_usage. file: [8424cfb11a] check-in: [b15c8c65bb] user: rolf branch: trunk, size: 208649
2004-09-21
01:43
Added the '-namespaces' option to the selectNdoes method. Not resolved namespace prefixes within the xpath expression now raises an error. *** POTENTIAL INCOMPATIBILITY *** file: [5b031666cd] check-in: [b08cb7d224] user: rolf branch: trunk, size: 207719
2004-09-02
17:07
toXPath method: fixed bug with non-element top level nodes, closed mem leak. file: [98a35c8954] check-in: [e5074c2f5d] user: rolf branch: trunk, size: 205609
2004-08-19
01:06
Made tDOM work out of the box on 64-bit systems like Itanium 2 (though --disable-tdomalloc configure option at build time is still needed). file: [98fb7c1c4f] check-in: [c69e6f98cd] user: rolf branch: trunk, size: 205562
2004-08-17
19:37
Removed unused variables. file: [9243619dae] check-in: [c55ee6bc39] user: rolf branch: trunk, size: 205750
2004-08-16
03:12
Pass external entity resolver script around in string representation, (insteand of Tcl_Obj), to avoid problems with mt builds. file: [b34de64179] check-in: [fe5093d90c] user: rolf branch: trunk, size: 205803
2004-07-28
03:49
New (experimental) method setObjectCommands. Reworked internal base URI handling, to fix a bug of the old approach and to be closer to (though not fully support) what DOM 3 say about base URI handling. 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. Improved speed of the getAttribute shortcut '@attname' (and, not so notable, of tcl coded methods of the dom, domDoc and domNode cmds). Corrected typo in domNode usage msg for getElementByID. Improved error msg for getAttribute, if attribute is not found. Changed behavior of getElementByID: if no element with the given id is found, returns now the emtpy string, not a TCL_ERROR (more close to DOM rec, getElementByID never raise an exception). Bug fix: nodeName now returns the per DOM rec correct values for comment and cdata section nodes (were as yet reported as if they where text nodes). file: [11573f9eea] check-in: [76c8406dfe] user: rolf branch: trunk, size: 205638
2004-05-26
01:46
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. file: [5e925f9fb9] check-in: [c53ae6acea] user: rolf branch: trunk, size: 200040
2003-12-17
03:36
Added baseURI method, which returns the current base URI and has an optional argument to set the base URI. This enables XMLBase support on script level. (The getBaseURI is deprecated.) file: [ea0b14f48c] check-in: [6fc03c62bd] user: rolf branch: trunk, size: 191843
2003-11-28
01:27
Switched back to Tcl_Panic() in one case, to make MT builds work. file: [a5bb46176b] check-in: [ceb4c394ff] user: rolf branch: trunk, size: 191312
2003-11-24
10:17
(Probably) temporarily disabled automatically clean up of nodeObjCmds, to work around bug: Storing the same node in different evaluation contexts with the optional objVar argument (as in [$doc documentElement root]) at the same time did not work. Fixed mem leak with -externalentitycommand. Fixed mem leak with parsing xml document with external entity and parsing error in an external entity. Minor code clean up. Always use domPanic as panic function. file: [bd64b26d3c] check-in: [62ed272244] user: rolf branch: trunk, size: 191311
2003-11-10
23:10
Replaced a C++ style comment with a C style comment. file: [030fb4735c] check-in: [ff1ec96273] user: rolf branch: trunk, size: 187369
2003-10-21
22:31
Removed two unused variables. file: [bd02512655] check-in: [b6a7058e14] user: rolf branch: trunk, size: 187365
2003-10-17
19:34
Added again some recently implemented methods to domObj_usage and node_usage, which got accidentally removed by the lately editorial changes. file: [b6e1fb078b] check-in: [a45af57c18] user: rolf branch: trunk, size: 187430
08:44
Added "dom detachDocument" and implemented support for domDoc command file: [17f28ac279] check-in: [3bd1b9e90c] user: zoran branch: trunk, size: 187276
2003-10-12
01:57
Merged domCreateEmptyDoc() and domCreateDoc(), now there is only one API proc: domCreateDoc(). file: [10e34b91e4] check-in: [7f2fefd0c2] user: rolf branch: trunk, size: 188709
2003-10-10
00:20
Added implementation for new method "normalize" (and as a by-product a C implementation for the method appendData). file: [f50663ec5e] check-in: [652229bedb] user: rolf branch: trunk, size: 188702
2003-10-09
00:21
Made code robust against renaming of domDoc cmds (well, unlikely, not to say very unlikely, but at least it also simplified code and reduced obj size by a few bytes). Changed sharedDocs hash table (only MT build) from TCL_STRING_KEYS to TCL_ONE_WORD_KEYS. file: [abfede8023] check-in: [4cf12e5b6f] user: rolf branch: trunk, size: 187504
2003-10-08
16:16
Fixed the preliminary (and MT only) method renumber. file: [7917b5f6d3] check-in: [a6cdb344f3] user: rolf branch: trunk, size: 188148
2003-10-07
00:21
Added new method insertBeforeFromScript to domNodes. Bug fixes for appendFromScript: In case of error in the script, the tree will not be altered. The appendFromScript may only be used for ELEMENT_NODEs. file: [04b10257a5] check-in: [d903e8efaa] user: rolf branch: trunk, size: 188196
2003-10-04
19:06
Added new method 'asText' to domDocs and domNodes. Renamed xpathGetTextValue() to xpathGetStringValue(), to be more according to the vocabular of the XPath rec. file: [7eb0b78543] check-in: [08d7ad7cbc] user: rolf branch: trunk, size: 187361
2003-09-30
22:58
Reworked usage of nodeNumber. It is now used only in one place, the new domPrecedes function. Also in domPrecedes is a fall-back mechanism, which is used if the document has an invalid node numbering. Removed the forced re-numbering in case of invalid node numbering of the doc for every single selectNodes. Added preliminary method renumber for MT-enabled builds. Carefully reviewed every rsAddNode usage in domxpath.c. Some minor editorial changes. file: [562ffa28c7] check-in: [e6bd173417] user: rolf branch: trunk, size: 186664
2003-09-27
23:24
Bug fix for replaceChild: If the node to replace was wrong, the doc got mangled. Bug fix for appendChild, replaceChild: the new node could not be a sibling or child of node. Speed improvment in some cases for removeChild, replaceChild, appendChild. file: [27432d5359] check-in: [181e84b469] user: rolf branch: trunk, size: 186731
2003-09-22
01:00
Reworked insertBefore: Bug fix: If the refNode was invalid, the involved documents got mangled. Bug fix: Dead loop, if the node to insert was the node itself. Bug fix: the rootNode of node's document could be used as node to insert. Bug fix: It was not possible, to insert a node before refNode, which was already a children of node. Bug fix: It was not possible, to insert a sibling of node. Feature enhancement: If the refnode is the empty string, the newNode is inserted at the end of the children list of node. Optimization: Average speed was O(n/2) (n: number of childs of node) in case the node to insert was out of the tree, and 0((n+m)/1) (m: number of nodes in the fragments list) in case the node to insert was out of the fragments list. Now its O(1). file: [2a84645489] check-in: [502f04d441] user: rolf branch: trunk, size: 186987
2003-09-14
01:16
Included 0.7.8 fixes from the rel-0-7-branch file: [763373e399] check-in: [63b1313111] user: rolf branch: trunk, size: 187043
2003-07-06
22:34
Backported from HEAD: Added an argument check for XSLTCmds. file: [c306b42838] check-in: [a8f44917c4] user: rolf branch: rel-0-7-branch, size: 185790
2003-07-04
18:17
Fixed version string to 0.7.8 file: [90095a48f3] check-in: [66b65c5ffd] user: zoran branch: rel-0-7-branch, size: 185681
2003-07-03
19:17
Fixed variable tracing issues for node object commands. Allows same thread to make several "attachDocument" calls on the same doc. file: [7932ea85a9] check-in: [ed52b2f7fc] user: zoran branch: rel-0-7-branch, size: 185697
2003-06-13
10:38
Added an argument check for XSLTCmds. file: [c9511c84f1] check-in: [936d29eba1] user: rolf branch: trunk, size: 185952
2003-05-16
11:52
Switched to use XML_ParserCreate_MM(), to be able (at tDOM build time) to make the expat parser use custom *alloc/free() functions (macro MEM_SUITE in dom.h). For TCL_MEM_DEBUG and NS_AOLSERVER builds the mem functions, used by the parser default now to Tcl_Alloc()/Tcl_Realloc()/Tcl_Free(). Switched to XML_FreeContentModel(), for freeing stored element content models. file: [a2fe40ce94] check-in: [9afca81854] user: rolf branch: trunk, size: 185843
2003-04-09
19:59
Added option -paramentityparsing to the [dom parse] method. [dom parse] option parsing now uses Tcl_GetIndexFromObj() (which additionally fixes a minor bug with the current option parsing). Removed an unused variable. Improved error reporting in case of not found attribute. Better options check for the 'xslt' methods. Changed implementation of the dom method isQName to use the lately introduced API function domIsQNAME. file: [f50ad9bd09] check-in: [b1dd756571] user: rolf branch: trunk, size: 184582
2003-03-25
14:39
Fixed error, which prevents building 0.7.6 with -DTCL_THREADS=1. (Arrrg.) file: [4175412ece] check-in: [a433fa7ab1] user: rolf branch: trunk, size: 181828
2003-03-22
00:14
Renamed 'startBefore' method to the better name 'precedes' and changed behavior: the method now returns simply a boolean value. file: [7dcbe432c6] check-in: [6dbe77ea42] user: rolf branch: trunk, size: 181829
2003-03-19
13:50
Replaced a few exit() code with Tcl_Panic(), which ensures, that even windows users get a usefull error msg. Added option -useForeignDTD to dom parse and expat. Fixed potential memory problem while processing erroneous stylesheet. Improved error msg in case of script errors in the -externalentitycommand script. Added method 'startBefore', to compare the relative order of two nodes out of the same document. file: [43cd0f97b8] check-in: [f1e13ac49c] user: rolf branch: trunk, size: 181930
2003-03-02
23:37
Fixed bug with using the 'domNode' cmd without argument (spotted by Bernard Desgraupes). file: [28140d27e6] check-in: [a9f37ef8bf] user: rolf branch: trunk, size: 179235
2003-02-26
19:10
Removed unused variables. file: [a1daed5f7b] check-in: [34d56d9c5f] user: rolf branch: trunk, size: 179135
2003-02-22
20:52
Added tcldom_getNodeFromName(), tcldom_getDocumentFromName() and the dom.h typdefs to the tDOM stubs table. Needed for the new tnc feature (and elsewhere, on the long run). file: [01121ca3e3] check-in: [b5b3d96a0d] user: rolf branch: trunk, size: 179150
2003-02-09
02:15
Public and system identifier information are now stored (if parsed with the expat parser or generated by the xslt engine, if given), exposed to the script level (even writable, more than DOM 2 allows) and will be, on demand, respected while serializing.    Bug fix: invalid memory read. file: [23b2adaa4d] check-in: [57286a402a] user: rolf branch: trunk, size: 179164
2003-01-30
00:36
Fixed bug reported by Wilhelm Klink (http://groups.yahoo.com/group/tdom/message/404 see test xslt-4.1). Again a problem (sideeffect) of renumbering node->nodeNumber (which is necessary after modification of the tree for some XPath expr to work). The keys of the entries in the baseURIs hash table of the documents where the nodeNumber of the (subtree root) nodes with new baseURI. Since this nodeNumber isn't necessarily constant over the lifetime of a node (because of the possibility of re-numbering the tree), this could not work anymore. Instead the nodeNumber, we now use the pointer to the node structure as Key for the baseURIs hash table. This pointers stay always constant, even if the nodeNumber changes. Additional code was added to domFreeNode(), to ensure, that an entry in the baseURIs hash table gets freed, if the related node is in deed freed. Removed the yesterday added reseting of the domUniqueNodeNr counter, because it turned out in testing, that there are problems with sorting of resultSets, which includes nodes from different documents (which may happen with some special XSLT constructs (document() calls with a nodeset as argument)). The reseting of the domUniqueNodeNr is still desirable, but it turned out, that it should be carefully considered, when it should be done. file: [5e1a6c1ad1] check-in: [d439fe172c] user: rolf branch: trunk, size: 171153
2003-01-29
02:23
Changed escaping of serialized XML. The previous behavior wasn't 'wrong', but now we do it along the lines of almost all other (important) tools and it seems there's al least some xslt code out there, which banks on this 'common' way of serializing. Though, there is a small risk, that this is an incompatible change for a few users.    Fix for the problem with ownerDocument reported by Oleg Oleinick (see test dom-29.1).    Fixed bug with COMMENT_NODEs while using the asList method (problem reported by Ramon Ribó). While at it, also added code for handling processing instructions, which was also missing, up to now. file: [08ef09150a] check-in: [0b89d72668] user: rolf branch: trunk, size: 171177
2003-01-11
00:18
Added conversion of XSLT stylesheet DOM trees to 'cached' xslt cmds (new domDoc method toXSLTcmd). Works for non threaded tcl; needs additional work for multi-threaded tcl and documentation. file: [1b9af768ed] check-in: [0587720af1] user: rolf branch: trunk, size: 168791
2002-12-27
23:40
The xslt method now understands also the options -ignoreUndeclaredParameters and -xsltmessagecmd. file: [3a5a6e70c9] check-in: [9f5c3aa51b] user: rolf branch: trunk, size: 167163
2002-12-20
13:36
Added DBG wrapper arround some lingering fprintf's file: [e51cdf126e] check-in: [c5ee64163a] user: zoran branch: trunk, size: 163513
2002-11-16
10:53
Replaced "panic" with Tcl_Panic for 8.2+ since stubbed. Fixed some 8.0.5 compilation issues. file: [43abefa8b7] check-in: [9f62a9d469] user: zoran branch: trunk, size: 163521
01:23
Fixed bugs, which only raised there head if compiled against tcl8.0.5. file: [c230803513] check-in: [0c4b1d5468] user: rolf branch: trunk, size: 163517
2002-11-15
19:38
Added per-document deleted-nodes list. This list is used to collect nodes deleted from the document, but being referenced from some other threads/interpreters file: [6ab7504938] check-in: [f1b90ac63a] user: zoran branch: trunk, size: 163440
02:20
Changed 'attributes' method to return the empty string als result for non element nodes, according to the DOM 2 rec, chapter "Interface Node". Fixed a seg fault in hasAttributeNS. Closed a mem leak in appendXML. file: [8c2309423b] check-in: [839d0457e4] user: rolf branch: trunk, size: 162600
2002-11-14
08:21
Fixed uninitialized memory read (UMR) report. file: [056c76d311] check-in: [0f5d43a14f] user: zoran branch: trunk, size: 163291
2002-11-09
01:46
HTML serializer: No content escaping for the HTML tags script and style, according to XSLT rec 16.2. Fixed a memory problem during interp deletion. file: [739be03ad3] check-in: [f95b2c528e] user: rolf branch: trunk, size: 163263
2002-11-01
00:38
Fixed old problem with Combine Set XPath expressions and XSLT sorts on trees, in which new nodes are inserted after the initial parsing (doc order of result). file: [dd0167045d] check-in: [ed9663deb0] user: rolf branch: trunk, size: 162599
2002-10-31
11:47
Fixed argument check of domObj method documentElement. Fixed domNode method appendFromList (wrong list format could result in seg fault). Thanks to Oleg Oleinick, for reporting both problems. file: [1f49e6f6a1] check-in: [a6cdb38efc] user: rolf branch: trunk, size: 162546
2002-10-30
15:50
Added -escapeNonASCII and -htmlEntities also to node_usage and domObj_usage. file: [3c02811bed] check-in: [17581ec1e5] user: rolf branch: trunk, size: 162481
2002-10-29
23:44
Added -escapeNonASCII as option to the asXML and asHTML methods and -htmlEntities as option to the asHTML method. Added "xslt" method to domDoc commands. file: [9649fba99f] check-in: [3ec7beb84e] user: rolf branch: trunk, size: 162388
17:11
Added "-returnNodeCmd" option to "dom createNodeCmd". file: [a058d1962b] check-in: [49799dd247] user: zoran branch: trunk, size: 144968
2002-10-20
15:57
Added new methods isName, isNCName, isQName and isCharData to the 'dom' command. file: [fa1bce01b4] check-in: [0e9f53dac9] user: rolf branch: trunk, size: 144955
2002-10-16
00:12
Added docObj methods asXML and asHTML. file: [e4e430c34d] check-in: [51ccedf49c] user: rolf branch: trunk, size: 143166
2002-09-30
23:17
Changed getElementsByTagName behavior again. Now it inspects every node, namespaced or not (of course only looking at the tagname). This should be according to the DOM rec. Bug fix fpr getElementsByTagNameNS if uri is "" (no namespace). file: [bb6931b2b8] check-in: [69fa7aee8e] user: rolf branch: trunk, size: 141871
2002-09-28
00:40
Added new domNode method disableOutputEscaping. file: [6554486252] check-in: [4573670b04] user: rolf branch: trunk, size: 141798
2002-09-27
20:28
A lot of miner bug fixing of the domNode cmd. Now setAttribute could be used with arbitrary pairs of attrName Value. SetAttributeNS now also allows arbitrary triples of uri attrName Value as args. The @attr shortcut does not make sense for PROCESSING_INSTRUCTION_NODEs. SetAttributes requires now at least one attrName Value pair. Added args checks for several methods. NodeValue now works (according to the DOM rec) also for COMMENT_NODEs and PROCESSING_INSTRUCTION_NODEs. file: [4bb5200607] check-in: [fcb04c3d83] user: rolf branch: trunk, size: 140860
14:11
Changed asHTML serialization. Up to now, CDATA nodes are simply ignored. OK, HTML doesn't have CDATA sections. But since the CDATA nodes are content of the document, they are now simply serialized to text (with the necessary escaping). file: [a8590a3394] check-in: [94d42f1d9c] user: rolf branch: trunk, size: 139408
2002-09-14
16:00
Fixed the tcldom_docTrace prototype (CONSTYfing). file: [704badf009] check-in: [e4366dc400] user: rolf branch: trunk, size: 139209
2002-09-11
15:28
Fixed document teardown problem when compiled with threads. Thanks to Harry Moreau for the report. file: [dd24ad0fa1] check-in: [49d0197ac3] user: zoran branch: trunk, size: 139197
2002-09-10
13:47
Code change to pacify gcc -Wall. file: [3a38d05ca5] check-in: [e497d3576f] user: rolf branch: trunk, size: 139118
2002-09-08
20:12
mpatrol'ed and valgrind'ed the tests and fixed a closed a few memory leaks. CONSTyfied tcldom_docTrace() and tcldom_nodeTrace(). file: [15f30424cd] check-in: [1e9eb8feaf] user: rolf branch: trunk, size: 139143
2002-09-03
21:00
Improved the error msg, if an unknown XPath function was called: now return also, which function is unknown. file: [258f19f2b0] check-in: [53688c2c65] user: rolf branch: trunk, size: 138449
2002-09-01
00:07
Removed unused var. file: [0c2676cb06] check-in: [d08c40ed32] user: rolf branch: trunk, size: 138320
2002-08-20
23:50
If a tcl coded XPath function returs nodes, we have to sort the result set, because we haven't any guaranty from where in the tree this nodes are and we always asume the resultset to be in doc order.    Tcl_DecrRefCount(Tcl_GetObjResult(interp)) seems to have fooled the interp. With it, test xpath-4.9 seg faults. file: [4bc53b7a40] check-in: [4a61df19da] user: rolf branch: trunk, size: 138327
2002-08-19
00:33
Bug fix: for every node type other than element nodes the type given to a tcl coded extension function was "attrnodes", which was cleary wrong for text nodes etc. Added error msg, if the result type of the tcl coded XPath function was not known. file: [51b7fdc5d6] check-in: [3636f23b8c] user: rolf branch: trunk, size: 138304
2002-08-09
00:41
More getElementsByTagName and getElementsByTagNameNS Fixes: it worked on the descendant-or-self axes, now works on descendant axis. Special handling of namespace ""; this now the same as getElementsByTagName. getElementsByTagName does not return any element, that is in a namespace. Plus editorial change. file: [9f1a869431] check-in: [cc052ed3ac] user: rolf branch: trunk, size: 137805
2002-08-06
02:21
Fixed the getElementsByTagNameNS node method, which was not standard compliant, incomplete and broken in several ways. Added a getElementsByTagNameNS method to the doc interface, according DOM 2. Added a few arg checks to methods. file: [9b81ae14ca] check-in: [83a955723a] user: rolf branch: trunk, size: 142778
2002-07-28
08:27
Moved to new memory allocation macros. file: [1cccedbdaa] check-in: [6eb6a47711] user: zoran branch: trunk, size: 139554
2002-07-11
06:40
Updated AppendResult macro (was broken by the previous checkin file: [76f0da96dd] check-in: [41b20aaa8d] user: zoran branch: trunk, size: 139443
05:10
Fixed SetResult (and friends) again: previous change did forget to set the interp result after copying the (shared) object. Huh! file: [e48c77c3b0] check-in: [f805904693] user: zoran branch: trunk, size: 139423
01:22
Fix for setAttributeNS file: [8e4924550e] check-in: [a4afd7f729] user: rolf branch: trunk, size: 139312
2002-07-10
16:38
Fixed macros fiddling with object result: now they properly check if the object in the interp result is shared or not and do a proper object duplicate before changing the value. file: [5dd94e32f2] check-in: [ce2fe80370] user: zoran branch: trunk, size: 138935
2002-07-05
12:18
Changed handling of nan/inf/-inf. Should now work on a wide(r) range of plattforms and (hopefully) not any more a build problem. file: [0081dc3d7d] check-in: [d04dfd3362] user: rolf branch: trunk, size: 138784
2002-07-02
19:25
Fixed references to CONS'ified Tcl API (8.4 and later) Also, fixed (disappeared) NODE_NO references which broke the threaded build (mainly in the dom.c) file: [bc0c7a92a0] check-in: [cf121768d4] user: zoran branch: trunk, size: 138305
2002-06-23
00:16
Changed findBaseURI(), that it works also with the now -baseurl aware simple parser. Removed dom -ns option, which was senseless since some time and even would break anything, if used, because DOM keeps track on namespaces by it's own. (-ns even wasn't documented.) file: [59695cf4b6] check-in: [b790da375b] user: rolf branch: trunk, size: 138281
2002-06-20
13:14
fixed compile warnings file: [4dfe7549c3] check-in: [1a2378d93d] user: loewerj branch: trunk, size: 138103
12:22
fixed Tcl8.0.x compile problems file: [a86daa1199] check-in: [d88f8c6893] user: loewerj branch: trunk, size: 138104
2002-06-02
06:36
Added thread safety with capability of sharing DOM trees between threads and ability to read/write-lock DOM documents file: [1ecf691833] check-in: [7077725403] user: zoran branch: trunk, size: 138078
2002-05-26
19:52
Better handling of xslt -parameter option (copying of the parameter list guarantees, that the pointer to the string reps of the list obj's remain valid, even if somebody tries to cheat or does something unusual at tcl level in some handler script). file: [8e243f79d1] check-in: [5a21f73136] user: rolf branch: trunk, size: 133927
2002-05-23
22:27
Better code for xslt -parameter handling file: [c0d7438628] check-in: [1a0f855ef3] user: rolf branch: trunk, size: 133834
2002-05-10
20:29
Made key names namespace aware. file: [6b751e8df3] check-in: [58cd284453] user: rolf branch: trunk, size: 133776
2002-04-22
21:33
Editorial changes. file: [0b35aa00ec] check-in: [ab569aef00] user: rolf branch: trunk, size: 133742
2002-04-19
18:55
Changed / enhanced namespace handling and namespace information storage. The namespace field of the domNode and domAttributeNode structurs is still set. But other than up to now, namespace attributes are now stored in the DOM tree as other, 'normal' attributes also, only with the nodeFlag set to "IS_NS_NODE". It is taken care, that every 'namespace attribute' is stored befor any 'normal' attribute node, in the list of the attributes of an element. The still saved namespace index in the namespace field is used for fast access to the namespace information. To speed up the look up of the namespace info, an element or attributes contains to, the namespace index is now the index number (plus offset 1) of the corresponding namespace info in the domDoc->namespaces array. All xpath expressions with the exception of the namespace axes (still not implemented) have to ignore this 'namespace attributes'. With this enhanced storage of namespace declarations, it is now possible, to find all "namespaces in scope" of an element by going up the ancestor-or-self axis and inspecting all namespace declarations. (That may be a bit expensive, for documents with lot of namespace declarations all over the place or deep documents. Something like http://linux.rice.edu/~rahul/hbaker/ShallowBinding.html (thanks to Joe English for that url) describes, may be an idea, if this new mechanism should not scale good enough.)    Changes at script level: special attributes used for declaring XML namespaces are now exposed and can be manipulated just like any other attribute. (That is now according to the DOM2 rec.) It isn't guaranteed (as it was), that the necessary namespace declarations are created during serializing. (That's also DOM2 compliant, if I read it right, even if this seems to be a bit a messy idea.) Because the old behavior have some advantages, from the viepoint of a programmer, it eventually should restored (as default or as 'asXML' option?). file: [1da198e07f] check-in: [b5afde4623] user: rolf branch: trunk, size: 137203
2002-04-08
02:11
Added -parameters option to domNode xslt method, to enable setting of top level parameters from tcl level. file: [dbdecd0aa5] check-in: [cf4305e95b] user: rolf branch: trunk, size: 136625
2002-04-02
00:36
Escape '\n' in Attribute Values while serializing, to fulfill the note in xslt rec. 7.1.3. file: [ed29c7f2c3] check-in: [bc13e06b37] user: rolf branch: trunk, size: 134889
2002-03-21
01:47
Collected the various nodeSet Result types into "nodeSetResult" (there still exists a seperate emptyResult type). Reworked xpathEvalStep. Fixed memory leak in xpathMatches, added rsAddNodeFast(), if it's known for sure, that the node to add isn't already in the nodeSet. file: [07e54f5805] check-in: [0e6533ac59] user: rolf branch: trunk, size: 134514
2002-03-10
01:17
Added method createDocumentNS to the dom command. file: [dd8dd5c7a2] check-in: [ca9c194567] user: rolf branch: trunk, size: 129985
2002-03-07
22:11
Freeze of actual state, befor feeding stuff to Jochen. file: [f0e97eee48] check-in: [cf9a256595] user: rolf branch: trunk, size: 128772
2002-03-01
01:18
Changed parsing. [dom parse ..] now uses Tcl_GetStringFromObj(), dom parse -channel now respects the encoding of the channel. file: [9e9e23ae3c] check-in: [8cc106f218] user: rolf branch: trunk, size: 128627
2002-02-24
02:31
Fixed UTF-8 char byte length determination file: [6c42e58cce] check-in: [9373983392] user: rolf branch: trunk, size: 128554
2002-02-23
01:13
Some code tweaking for a mostly warning free MS build file: [dfaf7f8b3e] check-in: [64a4af89f8] user: rolf branch: trunk, size: 128857
2002-02-22
01:05
tDOM0.7test with Jochens first set of patches file: [6df0a0dcee] check-in: [002482c973] user: rolf branch: demo, size: 128745
01:05
Initial revision file: [2c213e1928] check-in: [98cd4affb5] user: rolf branch: trunk, size: 128712 Added