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

History for generic/tcldom.c

2025-06-05
01:13
Made some constans/limits more configurable by environment variables at build time. Added tests regarding the nodeList argument of scriptend XPath functions. file: [2aed8b2d00] check-in: [0479719628] user: rolf branch: trunk, size: 294843
2025-04-03
12:24
Fixed the dom command method specification. file: [21f16e56f0] check-in: [152505895b] user: rolf branch: fromScriptContext, size: 294892
00:20
Added a simple way to get the current parent node in fromScript context. file: [63692580f9] check-in: [bbb70f8365] user: rolf branch: fromScriptContext, size: 294891
2025-02-24
17:04
Resolved more variable name clashes with new C23 keywords. file: [61cb41b72f] check-in: [ee17fba931] user: rolf branch: c23, size: 294381
16:57
Merged from trunk (started branch not from trunk tip by mistake). file: [e0b343b143] check-in: [cf04bc2b8d] user: rolf branch: c23, size: 294351
16:54
Fixed clashes of variable names with new C23 keywords. file: [71e7b3b33c] check-in: [765ee3d90f] user: rolf branch: c23, size: 294059
2025-02-16
01:37
Added the node creation command flag -notempty also to tdom::fsnewNode. file: [aaa991473c] check-in: [c7c21fe726] user: rolf branch: trunk, size: 294279
2025-01-21
00:29
Fixed the implementation, added documentation and a few tests. file: [3110815d55] check-in: [92387c974a] user: rolf branch: jsonbool, size: 293987
2025-01-19
23:08
Maybe a virtual boolean json type for text nodes would be useful. file: [7155d0708d] check-in: [f110413856] user: rolf branch: jsonbool, size: 293750
2025-01-12
01:43
Added dom featureinfo largedata, returning a boolean. If the result is true then tdom is able to parse pcdata content of an element greater 2 GByte with the expat parser (which requires Tcl 9 and a 64-bit platform and depends on the platform and the build flags of the used expat library). If the result is false then an attempt to parse pcdata content of an element larger than 2 GByte will result in an error. file: [a37872efa6] check-in: [dcb1e6b10e] user: rolf branch: trunk, size: 293342
2025-01-10
15:34
Fixed error handling of invalid return of scripted XPath functions in case of bool result with invalid boolean value and in case of number result with not-a-number value. file: [e127b9feb2] check-in: [38cd600963] user: rolf branch: trunk, size: 292788
11:11
Pacify scan-build warning. file: [101cbd38af] check-in: [a0993eab80] user: rolf branch: trunk, size: 291749
10:51
Plugged memory leak in case of selectNodes with -namespaces and -list and empty XPath expression list. Plugged memory leaks in error case of selectNodes with -namespaces and -list (XPath expression list argument is not a proper Tcl list or one of the XPath expressions in the list is invalid). file: [3e061b28a2] check-in: [c0d9083f94] user: rolf branch: trunk, size: 291745
09:59
Plugged memory leak in case of invalid value to the selectNodes -cache option if the -namespaces option was given before. file: [ca1360813b] check-in: [c35d3e9b52] user: rolf branch: trunk, size: 291599
01:31
Pacified a few scan-build warnings while fixing a few bugs revealed by the tool. file: [2816a7af56] check-in: [9bbbe3a038] user: rolf branch: trunk, size: 291571
2025-01-09
00:14
Merged from trunk. file: [331a6ae180] check-in: [f8172d3ff9] user: rolf branch: fsatts, size: 291581
2025-01-02
00:02
Check for entropy soures and other flags for the build of the bundled expat only if the bundled expat is used. In case an extenal expat library is requested, check the version of the library and other capabilities determining build options. file: [b6f493b8f1] check-in: [76c42127d1] user: rolf branch: systemexpat, size: 291316
2024-12-27
00:11
Request the answer to a few dom featureinfo calls from the actually used library and not from defines at build time, which are only true, if build with the bundled expat. file: [be0fb121d2] check-in: [618b4508fd] user: rolf branch: trunk, size: 291254
2024-12-12
23:51
Merged from trunk. file: [a05ac05c42] check-in: [e4e883d10b] user: rolf branch: fsatts, size: 291258
22:31
Enhanced the attribute creation in *FromScript scripts. If an attribute name argument of the current syntax is a 2 elements Tcl list then the first element is seen as the XML namespace of the attribute and the second element will be the attribute name. file: [e4b69e287c] check-in: [7ed74be7fc] user: rolf branch: fsatts, size: 290578
2024-11-13
21:47
wip file: [efa0e06934] check-in: [5754feeb27] user: rolf branch: appendXML, size: 290733
2024-11-09
15:22
Save. file: [1b23cdcdc0] check-in: [13b7ee7357] user: rolf branch: jsonEscape, size: 290993
02:44
Save. file: [8e5789541d] check-in: [c50341a406] user: rolf branch: wtf, size: 291072
2024-10-10
23:08
Improved compatibility with older VC compiler. file: [9ecc27300a] check-in: [8b95c3d54f] user: rolf branch: trunk, size: 290313
2024-10-09
00:40
More casts. file: [1fffe2f769] check-in: [cb3dba8a81] user: rolf branch: wip, size: 290308
00:38
Added a few more casts. file: [f29659fdb4] check-in: [24e3b90743] user: rolf branch: wip, size: 290295
2024-10-08
18:56
More type corrections. file: [80f087f0d3] check-in: [553af98482] user: rolf branch: wip, size: 290134
2024-10-07
13:23
More tweaks to silence compiler warnings. file: [de8133c0df] check-in: [69f821599b] user: rolf branch: wip, size: 290127
10:06
Another approach: Use XML_LARGE_SIZE on all platforms and Tcl-Versions an handle platform limits in code. file: [e5e6b7d00f] check-in: [29beb92f07] user: rolf branch: wip, size: 290133
2024-10-04
15:12
wip file: [e808dc80bc] check-in: [39da7b8662] user: rolf branch: wip, size: 290116
2024-10-01
22:58
Attempt to clean up the fall out of the recent type changes. file: [7f530df458] check-in: [908f9bb47d] user: rolf branch: trunk, size: 290114
2024-09-30
22:18
More type massage. file: [b2be7cde51] check-in: [a14d20c7c1] user: rolf branch: trunk, size: 289922
2024-09-23
20:41
Renamed createDocumentFromTypedList createFromTypedList - it is still a mouthful. file: [18ab2dd197] check-in: [6bc8b7435a] user: rolf branch: asTypedList, size: 289922
2024-09-20
11:59
Improved detection of invalid typed lists. Fixed XML well-formed error in documentation. Improved asTypedList in case of value only json documents. file: [94d75da521] check-in: [5d007b5c73] user: rolf branch: asTypedList, size: 289962
2024-09-18
23:57
Made the optioal newObjVar argument of createDocumentFromTypedList in fact work. Added some documentation. file: [a427fea7c5] check-in: [24f228477d] user: rolf branch: asTypedList, size: 291064
23:11
Added a first version (fully working for correct input but with some things left so do) of a way to create a (JSON) DOM document from a typed list in the format produced by asTypedList. file: [9743ac26bd] check-in: [49831a455b] user: rolf branch: asTypedList, size: 291064
2024-09-10
23:12
Removed the first approach, improved the second, added a few basic tests and some documentation. file: [23be3377db] check-in: [28577906a9] user: rolf branch: asTypedList, size: 290181
13:17
Compare simple approach versus reuse symbol Tcl_Objs. file: [fa37b4b348] check-in: [2aefc63826] user: rolf branch: asTypedList, size: 294859
00:09
Experimenting, hardening, optimisation, opening the door for customisation. file: [7283300dcd] check-in: [1c88ce0e89] user: rolf branch: asTypedList, size: 294578
2024-09-08
22:11
Started. file: [f3c2426af6] check-in: [e6806cecb5] user: rolf branch: asTypedList, size: 289164
2024-08-24
14:31
Merged from trunk. file: [e0a3d3639e] check-in: [90a1e9b044] user: rolf branch: errmsg, size: 284996
00:18
Fixed [40d770587f]. file: [4408596a40] check-in: [30f3f183ba] user: rolf branch: trunk, size: 292541
2024-08-23
16:17
Pluged a memory leak in the new asTclValue method. file: [0880aa8a73] check-in: [40d770587f] user: rolf branch: trunk, size: 292501
16:06
Done domNode commands. file: [29da0d5337] check-in: [f720be4383] user: rolf branch: errmsg, size: 284880
12:55
More improvements to the dom error messages. Done domDoc commands. Added a few tests. file: [5055a534e4] check-in: [dc5cb338a4] user: rolf branch: errmsg, size: 287943
2024-08-19
23:28
Adapted the internal function name to the script level name. file: [0a403cef38] check-in: [24f4d39f5e] user: rolf branch: trunk, size: 292461
2024-08-17
01:08
Error message reform: Started with dom_usage. file: [3772030a21] check-in: [4d0ba4ef37] user: rolf branch: errmsg, size: 290652
01:02
Made asTclValue more robust. file: [550e7e6ebd] check-in: [e4c92b8850] user: rolf branch: trunk, size: 292425
2024-08-14
23:14
Changed the name of the method to asTclValue. file: [67133ab61c] check-in: [f1e4c3a745] user: rolf branch: asDict, size: 292351
22:43
Merged from trunk. file: [0229c25889] check-in: [de4cfdfd69] user: rolf branch: asDict, size: 292331
2024-08-10
01:06
Simplyfied a few functions. file: [7e12e4693f] check-in: [a701f29512] user: rolf branch: trunk, size: 287981
2024-08-09
23:21
Added the optional argument typevariable to the domDoc and domNode method asDict. A few tests and a bit documentation. file: [2956812e3c] check-in: [e1ef5ac38e] user: rolf branch: asDict, size: 293559
2024-08-06
23:34
Better done this way in C. file: [946fb96ad5] check-in: [22c8e3bdd1] user: rolf branch: asDict, size: 292299
2024-08-03
13:57
Started, wip. file: [f4cd8fdd81] check-in: [abeb3b80a0] user: rolf branch: asDict, size: 293054
2024-08-01
01:28
Made the "--" option to [dom parse] not necessary even in case the JSON data to parse start with a dash. file: [ec30d3132b] check-in: [80d680d53c] user: rolf branch: trunk, size: 289209
2024-07-15
22:54
Added some const declaration and spell fixes. Bow to Gustaf. file: [0e55d25888] check-in: [046fbf0195] user: rolf branch: trunk, size: 289028
2024-07-08
00:41
More type massage and fixes. file: [8b7c1f3a9b] check-in: [85bc8c68e6] user: user branch: wip, size: 289027
2024-07-06
13:59
wip file: [093cf5ae7d] check-in: [eab0bfc95b] user: rolf branch: wip, size: 289027
2024-07-02
21:58
Added the isHTML5CustomName method to the dom command. The simple HTML reader Uses the machinery to accept HTML5 custom element names. file: [070b6577bb] check-in: [a2c9f83840] user: rolf branch: HTML5CustomNames, size: 289027
2024-06-30
23:23
wip file: [a1ecdd31f4] check-in: [e77b8c2886] user: rolf branch: HTML5CustomNames, size: 289026
2024-06-26
01:32
Added code which handles outside BMP codepoints even for Tcl 8.6 in case of entity serialization. file: [ee03e3b4a7] check-in: [96d934bb24] user: rolf branch: wip, size: 288722
2024-06-17
23:00
wip file: [d2df53b0e8] check-in: [426dcf5540] user: rolf branch: wip, size: 287855
2024-06-11
23:35
This would be an implementation of -htmlEntities with the HTML5 entities set. I doubt, this is a good idea. file: [7b027735b7] check-in: [4ce9bd3a86] user: rolf branch: wip, size: 435932
2024-06-03
22:37
Merged from trunk. file: [29f9746c94] check-in: [78f2a07767] user: rolf branch: wip, size: 301440
2024-05-25
14:32
wip file: [dbf1892c4d] check-in: [37965414f0] user: rolf branch: wip, size: 300858
2024-05-20
23:20
Minor code impovements and more tests. file: [1f317a7731] check-in: [522169e2ea] user: rolf branch: clearstring, size: 301469
17:17
Implemented user defined replacement. file: [c21e2e9463] check-in: [3d780d7563] user: rolf branch: clearstring, size: 301494
2024-05-14
23:51
Added the -list option to the selectNodes method (cascading XPath expressions). file: [fdff38be56] check-in: [4c73cafde8] user: rolf branch: trunk, size: 300887
2023-12-28
14:55
Restored build with 8.6. file: [8f9d488f27] check-in: [246a80804e] user: rolf branch: trunk, size: 294897
2023-12-10
01:19
wip file: [9db8155798] check-in: [566a033db7] user: user branch: wip, size: 295017
2023-12-09
01:43
wip file: [ee0f3d1636] check-in: [3063b4d0c9] user: user branch: wip, size: 294996
2023-11-10
11:42
Fixed wrong Tcl_GetBooleanFromObj() argument type with Tcl 9 which slipped throu because of no compiler warning due to TIP 618. file: [d4254ba459] check-in: [bb675225d8] user: rolf branch: towardsTcl9, size: 294990
2023-11-09
23:24
More tweaks to make the code build without warning on 8.5.19, 8.6.13 and 9. file: [ef4f7c2f87] check-in: [f26d9b32ab] user: rolf branch: towardsTcl9, size: 294977
2023-05-19
12:32
More type adapation for big node set results. Renamed rsInt to rsLong to make clear that a long integer value is returned. Improvement to the XPath functions floor, ceiling and round implementation. file: [d7f6c5d431] check-in: [c95a6d5ae2] user: rolf branch: towardsTcl9, size: 294854
2023-04-08
01:11
Another Tcl 9 adaption detected while building with a Tcl 9 with disabled Tcl 8 compatibility layer. file: [1df15b611f] check-in: [f443503fd2] user: rolf branch: towardsTcl9, size: 294848
2023-03-28
23:30
Changed to Tcl 9 list API also. file: [88e76b81ec] check-in: [e3ef6358dd] user: rolf branch: towardsTcl9, size: 294848
2023-03-26
01:50
Merge trunk. file: [571dea23c3] check-in: [3a27d57172] user: rolf branch: towardsTcl9, size: 294755
01:50
Fixed clearString option array. file: [ea80f17d6f] check-in: [651a5b664b] user: rolf branch: trunk, size: 296015
00:04
Merged from trunk. file: [14d12a8e02] check-in: [1c79bc885e] user: rolf branch: towardsTcl9, size: 294768
2023-03-25
02:30
Added the option -replace to the dom command method clearString. file: [af6ed3e758] check-in: [c50609368a] user: rolf branch: trunk, size: 296028
2023-03-10
15:53
Handle gumbos max 4 GB input limit. file: [95a3faee18] check-in: [7777abf8ff] user: rolf branch: towardsTcl9, size: 293844
2023-03-05
21:08
More centralization of parsing error reporting and corrections of the central parsing error code. file: [d3a4bb60b2] check-in: [36e6200010] user: rolf branch: towardsTcl9, size: 293643
01:06
wip file: [154a11e64f] check-in: [de91cecb4c] user: rolf branch: towardsTcl9, size: 294621
2023-03-04
15:56
wip file: [ee886b63c5] check-in: [ed4696fa94] user: rolf branch: towardsTcl9, size: 295505
2023-02-26
01:47
wip file: [2d3a1037f6] check-in: [e0507ae8c4] user: rolf branch: towardsTcl9, size: 294704
2023-02-25
14:01
wip file: [9091aad769] check-in: [c8b0e877bc] user: rolf branch: towardsTcl9, size: 295552
2023-02-17
15:57
More type massage to bridge between Tcl 8 and 9. Looking at that revealed a few questionable type chooses by tDOM itself. file: [b2201e6e4b] check-in: [1386f26d6e] user: rolf branch: towardsTcl9, size: 295248
2023-02-11
01:08
Not yet there. file: [4c87d83f31] check-in: [68220d504d] user: rolf branch: towardsTcl9, size: 295238
2023-01-12
23:38
wip file: [ab78b5d658] check-in: [2b475b45e1] user: rolf branch: startpattern, size: 295299
2022-10-01
00:37
Provides the optional result set type variable also in case of selectNodes -list. file: [7961d52794] check-in: [28fd512def] user: rolf branch: cascadingxpath, size: 301082
2022-09-30
21:10
Started new selectNodes option -list which expects a list of XPath queries, applies the next query on every node of the result set of the previous and returns the results of the last query as one list. file: [e7eb4e1c0c] check-in: [e3b4318a14] user: rolf branch: cascadingxpath, size: 300465
2022-09-13
13:10
Simplified function - all callers used the same second arg (for reasons). file: [2989e2f62b] check-in: [5ee0852228] user: rolf branch: trunk, size: 295122
2022-09-11
15:24
Merged from trunk. file: [fd628609b2] check-in: [41527a21b1] user: rolf branch: jsonvalidationotf, size: 295222
15:03
Added a bit documentation and tests. file: [7657db6d6d] check-in: [b31054bdb7] user: rolf branch: morebyteindex, size: 295125
00:04
Started. file: [257421ea37] check-in: [dfa0cb3694] user: rolf branch: morebyteindex, size: 295128
2022-09-08
22:17
Started exeriment to do json validation against a tDOM schema while parsing (and not only by postvalidating the tree. file: [6a0a9c9272] check-in: [7b88ac3d92] user: rolf branch: jsonvalidationotf, size: 294666
2022-08-27
00:22
Added the method asCanonicalXML to the domDoc and domNode commands. Added the options -escapeCR and -escapeTab to the method asXML of the domDoc and domNode commands. file: [387611a5dc] check-in: [11680727be] user: rolf branch: trunk, size: 294569
2022-08-25
23:30
As fall-out of new functionalities needed for c14n XML new optiongs -escapeCR and -escapeTab for the method asXML. file: [f659e1765f] check-in: [83860cac4f] user: rolf branch: c14n, size: 294643
22:48
More work on encoding of special characters as character references in attribute values and text. file: [f32b9c07ca] check-in: [1681a54542] user: rolf branch: c14n, size: 294343
17:01
Started encoding of special characters. file: [f7c2011f76] check-in: [7181ead46c] user: rolf branch: c14n, size: 294025
15:33
Made attribute sort work. file: [280a944d6e] check-in: [45192143a5] user: rolf branch: wip, size: 293787
06:52
wip file: [d8977ece51] check-in: [3febcb12fb] user: rolf branch: wip, size: 294055
2022-08-20
02:19
Suppress superfluous XML namespace declarations. file: [ffde4f8ece] check-in: [43e4e0a0c4] user: rolf branch: c14n, size: 288370
2022-08-19
22:09
Save work. file: [b16de93e38] check-in: [4bf8e018ee] user: rolf branch: c14n, size: 287723
01:04
More work. file: [ac1685c121] check-in: [d3f0ae983f] user: rolf branch: c14n, size: 287669
2022-08-18
11:24
More boilerplate. file: [544e6324c7] check-in: [ec7a4d3aa2] user: rolf branch: c14n, size: 285873
2022-08-17
23:34
Started. file: [3dd2e11145] check-in: [8818527027] user: rolf branch: c14n, size: 283213
2022-08-12
00:28
Automaticall proovereading. file: [f53dda4687] check-in: [e36a320c65] user: rolf branch: trunk, size: 281960
2022-08-05
23:25
Renamed the -forrest option and all forrest symbols in the code with -forest, how it should have been spelt right from the start. file: [c2e9816b27] check-in: [3eb60c75da] user: rolf branch: trunk, size: 281950
2022-07-27
16:42
Code hygiene. file: [066e2e7e70] check-in: [d0e55d2011] user: rolf branch: trunk, size: 281972
2022-07-25
22:06
Kudos to Christian Werner. file: [c22f6d9d6c] check-in: [097bfb4a81] user: rolf branch: assocall, size: 281964
2022-07-22
10:31
More explicit type conversion. file: [829d780764] check-in: [17443b8f46] user: rolf branch: compiler-nits, size: 281485
2022-07-21
22:48
Added the magic comment to silence "fall trough" warnings by gcc and clang. More explizit type casts. Replaced most Tcl_Panic() calls with lesser rude reporting. file: [31b855c793] check-in: [319cb70060] user: rolf branch: compiler-nits, size: 281470
2022-07-16
14:03
Started compiler warnings reduce (a few with better reasons, others with lesser). file: [517aed0392] check-in: [e572014487] user: rolf branch: compiler-nits, size: 281469
2022-06-20
20:12
Adapted code to deal with Tip 543. file: [7c80aeb1bd] check-in: [162bfdac16] user: rolf branch: prepare-release, size: 281363
2022-06-02
22:34
Added tdom::fsnewNode und tdom::fsinsertNode. file: [2d7b6cb6fc] check-in: [21c47bb0c6] user: rolf branch: wip, size: 281367
2022-05-31
21:51
Much better. file: [18c0303b92] check-in: [5ac2968867] user: rolf branch: wip, size: 275934
2022-05-27
16:43
wip file: [b61a2292a1] check-in: [a80bccddd0] user: rolf branch: wip, size: 275983
2022-04-14
16:32
Much better approach for dom parse -forrest w/ expat: use an external entity parser. file: [c958a45a6f] check-in: [5efae5139b] user: rolf branch: parseforrest, size: 275484
2022-04-02
01:58
Smaller improvements. file: [f7c014a589] check-in: [71ad27132d] user: rolf branch: parseforrest, size: 275379
2022-03-31
01:24
wip file: [0924fc5695] check-in: [9803aaacc1] user: rolf branch: parseforrest, size: 275364
2022-03-26
01:25
Mostly done for dom parse. file: [ffc7dfc1db] check-in: [8dce3d3bfd] user: rolf branch: parseforrest, size: 275029
2022-03-24
00:56
Work on dom parse -forrest. file: [4fde4838ba] check-in: [4d7afcb1aa] user: rolf branch: parseforrest, size: 274623
2022-03-23
00:17
Mostly done for -html. file: [68ae89a2c5] check-in: [79b1e5e820] user: rolf branch: parseforrest, size: 274549
2022-03-21
23:44
Mostly done for -simple. file: [440ead29be] check-in: [52160a56bd] user: rolf branch: parseforrest, size: 274595
2022-02-19
00:55
Added the options -billionLaughsAttackProtectionMaximumAmplification and -billionLaughsAttackProtectionActivationThreshold to dom parse and the by the xml::parser/expat command created parser commands. file: [b496b2ba08] check-in: [c51c286928] user: rolf branch: trunk, size: 274349
2022-02-04
20:14
Merged from trunk. file: [4b9ce757df] check-in: [aae8ce8dd5] user: rolf branch: towardsTcl9, size: 270932
00:18
Merged from trunk. file: [f7696900b7] check-in: [65ace0ed5f] user: rolf branch: mistake, size: 271159
2022-01-27
13:37
Fixed memory leak in case of dom parsing w/ a -validateCmd which is in use. file: [81aa523710] check-in: [436f9b8957] user: rolf branch: trunk, size: 270936
2022-01-15
16:39
Start integrate new BillionLaughsAttackProtection featurs. file: [503609d95a] check-in: [f540486a07] user: rolf branch: expat-update, size: 271156
2022-01-10
01:07
Fixed possible bufffer overrun because of too small buffer for a sprintf. file: [78a595dead] check-in: [c18371f74a] user: rolf branch: trunk, size: 270900
2021-05-05
13:51
Adapted code to deal with Tip 543. file: [a28ce2d5c2] check-in: [f1dbc9d96c] user: rolf branch: towardsTcl9, size: 270896
2021-03-18
02:12
Backouted [36e470e5a63b3a]. Turned out what should have been clear right from the start that cheating around in the background with the string value of a Tcl_Obj is not a good idea. file: [a2c6152a95] check-in: [cc4953c8a2] user: rolf branch: trunk, size: 270900
2021-01-28
00:30
Some minor editorial work in documentation and code comments. file: [8c75ee7246] check-in: [014e6256e7] user: rolf branch: trunk, size: 271262
2021-01-06
22:34
If asXML -indent tab is used now comments and processing instructions are also indented with tabs. file: [79c8f0bd49] check-in: [3c35cc9b09] user: rolf branch: stackless_asXML, size: 273738
18:16
Better implementation of indentation with tabs or white space. file: [f8a12a7ee2] check-in: [a4dcb11f16] user: rolf branch: stackless_asXML, size: 273736
02:34
Merged from trunk. file: [a49fab1b2a] check-in: [226d987aaa] user: rolf branch: stackless_asXML, size: 274347
2020-12-31
01:18
Correct cleanup in case of failing conversion of a dom tree into an xslt command. file: [c54da6733d] check-in: [2b327d36f3] user: rolf branch: trunk, size: 271256
2020-11-22
19:56
Fixed error msg of method getAttributeNS in case of wrong number of arguments. Fixed error msg of method getAttributeNS in case of attribute not found and no default value given. file: [62a6656572] check-in: [2d247742ab] user: rolf branch: trunk, size: 271218
2020-09-26
13:45
Applied spell fixes provided by Gustaf Neumann (slightly modified and enhanced). file: [14c6ca5b02] check-in: [a8fac2ca99] user: rolf branch: trunk, size: 271148
2020-08-21
01:22
Merged from trunk. file: [17424d7867] check-in: [0b386f3852] user: rolf branch: schema, size: 271145
00:38
Started -onlyContents for asXML. file: [25b84785fa] check-in: [57a1eaee6c] user: rolf branch: asXMLonlyContents, size: 270039
00:07
Added -onlyContents and -breakLines to asHTML. file: [6a79ac8dec] check-in: [59ab627f46] user: rolf branch: trunk, size: 269182
2020-08-17
22:06
Prefixed all not static functions in the schema code. file: [45e930daa7] check-in: [ae40e6096b] user: rolf branch: schema, size: 270279
2020-07-23
23:50
Merged from trunk. file: [0a88935f48] check-in: [76ba31355c] user: rolf branch: schema, size: 270274
2020-07-22
23:42
Added -indent tabs to asJSON also. file: [1741463184] check-in: [4f33810032] user: rolf branch: tabs, size: 268316
00:49
Added "tabs" as possible value to asXML -indent and do the indentation with tabs, if given. file: [f9225db846] check-in: [cf00a7c899] user: rolf branch: tabs, size: 266893
2020-07-10
18:15
Made dom parse -dtdvalidation a (by default enabled) build option. file: [d9585591a2] check-in: [2c055a1883] user: rolf branch: domvalidation, size: 266349
00:31
Merged from trunk. file: [d6e7038c09] check-in: [174626facf] user: rolf branch: domvalidation, size: 265915
2020-05-30
01:38
Scripted XPath functions now also work in domunique/domxpathboolean XPath expression arguments. file: [e0d3501b8e] check-in: [6c38650608] user: rolf branch: schema, size: 267606
2020-05-13
23:50
Merged from trunk. file: [db67636194] check-in: [1fc373ed25] user: rolf branch: schema, size: 267613
23:49
Added method clearString to the dom command. file: [b47893b21d] check-in: [5300f428a6] user: rolf branch: trunk, size: 265648
2020-04-08
23:54
There is no need that the dom parse -jsonroot option argument has to be an XML name. Documented the existence of the option, file: [1ec30dbbac] check-in: [67a97e3f0d] user: rolf branch: trunk, size: 265036
2020-01-02
02:19
Added schema command validatechannel, which reads the data stream to validate from a tcl channel. file: [8bb158abda] check-in: [c5bd39ed92] user: rolf branch: schema, size: 267161
2019-11-30
00:50
Merged from trunk. file: [5912e126b3] check-in: [8c0cc53beb] user: rolf branch: schema, size: 267163
00:47
Editorial clean up: Removed cvs keywords in source code headers; the are obsolete. file: [3c186492b1] check-in: [14a8728e63] user: rolf branch: trunk, size: 265196
2019-11-13
17:02
Added info line and info column to retrieve parsing position information. Made the interfaces for position information using a long for this. Tried to prevent concurrent use of a schema command - a schema command may be busy. Added book-keeping code to prevent seg fault, if a schema command is configured as validation command for a SAX parser or DOM building and the schema command is deleted on the way at script level. file: [a0fd03fe41] check-in: [d3e7475b85] user: rolf branch: wip, size: 267176
2019-11-09
16:56
wip file: [5b8263a9fc] check-in: [d10c95ec06] user: rolf branch: wip, size: 267052
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
Added: Initial revision file: [2c213e1928] check-in: [98cd4affb5] user: rolf branch: trunk, size: 128712