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

History of generic/dom.c

2019-06-06
23:23
Merged from trunk. file: [bb42774fb4] check-in: [672fc9ca28] user: rolf branch: domvalidation, size: 250636
2019-05-21
22:37
Merged from schema. file: [e68f17c7df] check-in: [72ce7820c1] user: rolf branch: localkey, size: 177869
16:21
Adding DOM tree postvalidation (only) local key constraints along the lines of xsd unqiue with selector and list of fields but with no restrictions on the XPath expressions (other then resulting a node set in case of selector and a result set with one node in case of field XPath expression). file: [e54f0606f4] check-in: [f645e5dfe1] user: rolf branch: domlocalkey, size: 177847
2019-05-04
12:35
Started work on subtree local unique/key/keyref. file: [2f1c8fb52e] check-in: [97b292828f] user: rolf branch: localkey, size: 177849
2019-03-07
22:46
Merged from trunk. file: [37ea17172b] check-in: [60af362516] user: rolf branch: schema, size: 177827
22:45
Made novem compatible. file: [e2c62c959d] check-in: [d41caf001d] user: rolf branch: trunk, size: 176204
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: [b1b1e139d3] check-in: [bd8b0eecee] user: rolf branch: schema, size: 177855
2019-01-17
22:41
Now, the overhauled validation engine does the same as the old state and even a bit more, and better. file: [606b36ff20] check-in: [6ed41c0c75] user: rolf branch: wip, size: 177605
2019-01-09
00:47
Enable validation features by default (with easy configure disable switch). file: [48459492d9] check-in: [589a5b2a86] user: rolf branch: schema, size: 177495
2019-01-06
02:55
wip file: [b6b13e40f2] check-in: [6b331d4861] user: rolf branch: schema, size: 177255
2018-12-14
09:54
Merged from trunk. file: [be653d9f92] check-in: [6a48682b06] user: rolf branch: domvalidation, size: 250664
2018-12-06
22:13
Renamed structure to schema. file: [d58a2eb9bc] check-in: [084cbc63a1] user: rolf branch: schema, size: 177004
2018-11-28
00:26
wip file: [5ef12d4b30] check-in: [bdde880865] user: rolf branch: structure, size: 177007
2018-11-22
01:16
Completed the new -validateCmd of the dom command with text probing. Added a -validateCmd option to expat parsers (with weakness on the namespace side). file: [95ab7fb5d6] check-in: [51f75c38db] user: rolf branch: structure, size: 177002
2018-11-21
23:44
Lesser #ifdef. file: [13dbb48190] check-in: [e4c7f3f52f] user: rolf branch: structure, size: 176852
2018-11-19
01:14
wip file: [b7898bd203] check-in: [9d4517dd7e] user: rolf branch: structure, size: 177083
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: [894302bcfa] check-in: [75cec95b45] user: rolf branch: structure, size: 176856
2018-11-06
12:17
Minor: Now every xsl:comment call in an XSLT stylesheet will create a comment node in the result tree, even if it is empty. Up to now this happend only for not empty comment nodes. file: [da0ad65f24] check-in: [66794b03cd] user: rolf branch: trunk, size: 176232
2018-08-16
23:34
Applied modified patch from [3807a4ac722c] (and removed unnecessary initializations seen while working on the code). file: [862a70f7da] check-in: [18d8d9f083] user: rolf branch: htmlreader, size: 176206
2018-08-08
22:39
Changed the license to MPL 2.0. file: [7744a0cfb0] check-in: [39f9d6bbbf] user: rolf branch: trunk, size: 176774
2018-07-25
23:12
Merged from trunk. file: [d06c60d74d] check-in: [d554f9574e] user: rolf branch: domvalidation, size: 251206
2018-07-10
22:25
More typo fixes. Thanks goes to Gustaf Neumann. file: [de80b19033] check-in: [26cf441c85] user: rolf branch: trunk, size: 176774
21:45
Removed code duplication. file: [4bfa88c874] check-in: [94bf2ac99f] user: rolf branch: trunk, size: 176772
2018-05-10
00:08
C style modernization of the integrated dtd validation. file: [c3ea2d3e4b] check-in: [bd57fb495e] user: rolf branch: domvalidation, size: 251479
2018-05-09
23:14
Finer details of the memory management: While the tdom expat api cares for tnc about cleaning up the content models that expat hands out to the user, an integration into dom has to care by itself. file: [c2e290a80f] check-in: [c0393aab8d] user: rolf branch: domvalidation, size: 251709
2018-05-05
00:06
Plugged memory leak: Not all collected DTD data got freed. file: [8bc1290c35] check-in: [3e77c15091] user: rolf branch: domvalidation, size: 251512
2018-05-04
22:24
Merged from trunk. file: [9ce49c9115] check-in: [b8bdad56db] user: rolf branch: domvalidation, size: 251465
2018-05-02
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: [6bfb80a29d] check-in: [d729de4c39] user: rolf branch: abandon80, size: 177047
2018-04-25
11:04
merge trunk file: [068bb263b7] check-in: [d48f501330] user: yorick branch: pyk-parsexpath, size: 180766
2018-04-24
22:19
This change is probably important if you change larger DOM trees and do XPath queries with large result sets afterwards. If build with -DTCL_THREADS=1, which do people routinely these days even without noting (the windows binaries on tdom.org are build this way, f.e.), some things must to be done in a thread safe way and a feature is added: the ability to share a DOM tree between threads. If a DOM tree is in fact shared a certain important (for big result sets) XPath query optimization can't be done automatically. Now this optimization is done for all not between threads shared docs (no matter how tdom was build). file: [e90280b3e2] check-in: [1069b49d24] user: rolf branch: trunk, size: 180523
2018-04-10
22:23
Plugged a few memory leaks. file: [df8dcda83d] check-in: [46dd7587a5] user: rolf branch: domvalidation, size: 254779
20:12
Made this work still together with tnc. file: [b41863a9b4] check-in: [1d3da57d29] user: rolf branch: domvalidation, size: 254777
2018-04-07
01:01
Merged from trunk. file: [a51e1171f0] check-in: [85c3c7cf1e] user: rolf branch: domvalidation, size: 254749
2018-04-06
15:57
Merged from trunk. file: [c66aed818a] check-in: [7b9d2c1ea6] user: rolf branch: deCONST, size: 180290
2018-04-05
22:52
Ensure to reset the interp result after calls to the callback after script to make the logic of https://tdom.org/index.html/artifact?ln=6578-6639&name=5ec78e1acb36f517 work (again). file: [7d8bf08e96] check-in: [0fb3497458] user: rolf branch: trunk, size: 180294
2018-03-25
01:00
Added reporting. Basically works. file: [f780528bf9] check-in: [c3fc6b8de5] user: rolf branch: domvalidation, size: 254709
2018-03-24
16:09
Added code to the last missing handlers. Some smaller things (reporting, foreign DTD) but otherwise should be almost there. file: [ef1ac71e0c] check-in: [007826727c] user: rolf branch: domvalidation, size: 254375
02:04
Started musing about what it means to integrate XML DTD validation into the dom command (on various scales). file: [fe79040674] check-in: [5bd1293e53] user: rolf branch: domvalidation, size: 246028
2018-02-22
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: [eb61d01694] check-in: [0fcd6c63e6] user: yorick branch: pyk-parsexpath, size: 180493
06:21
Merge trunk, breaking things. file: [cbf3307233] check-in: [9927f3c39e] user: yorick branch: pyk-parsexpath, size: 180492
01:46
More pruning out history: all that CONST and even CONST84 business. file: [5acf821f91] check-in: [659134bc9a] user: rolf branch: deCONST, size: 180246
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: [377c4659bf] check-in: [da20a637cf] user: rolf branch: trunk, size: 180250
2018-02-21
12:30
Removed the now unused interp argument from domCreateDocument. file: [9545062d62] check-in: [d0fbb5904c] user: rolf branch: trunk, size: 180251
00:09
Respect [dom setNameCheck] even for [dom createDocument/createDocumentNS ...] Thanks to pooryorick for reporting. file: [1134e5039f] check-in: [66acb1bd7d] user: rolf branch: trunk, size: 180275
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: [8940bfa290] check-in: [de204a84e6] user: rolf branch: trunk, size: 181346
2018-02-01
00:16
A couple of spell fixes / typing error corrections. Thanks goes to Gustav Neumann. file: [5228c21f94] check-in: [4897033c1b] user: rolf branch: trunk, size: 181345
2017-11-09
00:32
Added -keepCDATA to the tdom handler set based implementation of the [dom parse ...] API. Bug fix in arg check. file: [228c07726d] check-in: [8cd193981c] user: rolf branch: trunk, size: 181345
2017-11-05
23:56
If -keepCDATA is used together with -keepEmpties even empty CDATA sections will be CDATA_SECTION_NODE (with empty text) in the DOM tree. file: [825140c60a] check-in: [d333be5a28] user: rolf branch: keepCDATA, size: 181053
00:02
Made that work with the tdom expat handler set also. file: [80c8c26b03] check-in: [e320c2065d] user: rolf branch: keepCDATA, size: 181030
2017-11-04
02:00
Started implementation of a "keep CDATA sections" switch to [dom parse ...]. file: [691f5a99c8] check-in: [1cd6dcbed5] user: rolf branch: keepCDATA, size: 181060
2017-10-29
18:27
Replaced the (creative) use of encoding identity to make tDOM compatible with the upcoming Tip 345. file: [8687442372] check-in: [33ee70bd11] user: rolf branch: trunk, size: 179058
2017-10-06
00:03
Applyed spelling/ wording fixes in source code comments, error messages and even symbols (!) as reported by Debian lintian [9629f6d4fb8c9]. file: [683bd69b72] check-in: [f8ced39e14] user: rolf branch: trunk, size: 179061
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: [3b539ac5a7] check-in: [b17f640f6f] user: rolf branch: fastFree, size: 186741
02:51
Merged from trunk. file: [51d4180e09] check-in: [e5404d396d] user: rolf branch: fastFree, size: 186460
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: [20f0822a20] check-in: [1965531605] user: rolf branch: fastFree, size: 186060
2017-08-30
15:21
Now the domNode method cloneNode does also copy the json type annotation of the node or subtree to clone. file: [5ef1846e93] check-in: [784ff1de80] user: rolf branch: trunk, size: 179061
14:03
Plugged memory leak in case [dom createDocumentNS] is erroneously called with prefixed document element name and the empty string as namespace URI. file: [747fa561ba] check-in: [9352a1da41] user: rolf branch: trunk, size: 178662
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: [5060ea06a0] check-in: [9e7f64d9c5] user: rolf branch: nodecmdns, size: 178661
2017-07-19
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: [910ea5c7d1] check-in: [2299091520] user: rolf branch: json, size: 178028
2017-07-12
21:07
Combine memory allocations in tcldom_selectNodes and move cleanup into tcldom_FreePvcd. file: [4300793837] check-in: [ee1833d642] user: yorick branch: pyk-parsexpath, size: 178346
2017-07-11
23:01
Remove staticTokenPtr from tcldom_ParseVarData and use NULL as the fixup marker instead. file: [8b32468034] check-in: [e6cf5cb835] user: yorick branch: pyk-parsexpath, size: 178604
2017-07-03
20:39
So far, for now. file: [6b798f9cb0] check-in: [0c6df91ce5] user: rolf branch: wip, size: 178698
14:28
More progress. file: [24491f4366] check-in: [2d793fe147] user: rolf branch: wip, size: 178657
2017-07-01
14:17
Work in progress. file: [a354e565fb] check-in: [42b8823f76] user: rolf branch: wip, size: 178435
2017-06-30
23:01
Fixed some problems in the code. Saved before attempt to greater rework, to takle others. file: [3bcc00ee1c] check-in: [41e23c35ea] user: rolf branch: pyk-parsexpath, size: 178372
10:28
Separate XPath parse and eval function steps and move variable access from parsing step to eval step. file: [51d15c4658] check-in: [20779fa343] user: yorick branch: pyk-parsexpath, size: 177768
2017-06-17
01:03
Fix seg fault of removeAttributeNS, if there is a not namespaced attribute with the same localname as the attribute to remove. file: [72cf822c4f] check-in: [db3e95cb77] user: rolf branch: trunk, size: 178104
2017-04-19
23:15
Removed unused parameter from domNewElementNode and domNewElementNodeNS- file: [59d29b47f4] check-in: [c7e9aae252] user: rolf branch: trunk, size: 178098
2016-05-12
16:28
Fixed long standing problem: Report undefined xml namespace prefixes as parsing error. file: [2cf83fbbae] check-in: [6d4a7d62c1] user: rolf branch: trunk, size: 178164
2015-04-14
23:43
Added argument check for the boolean expecting tdom cmd option setter methods. Fixed the ignorexmlns method. file: [163ee9ffc7] check-in: [c5f26a45cf] user: rolf branch: trunk, size: 177946
2015-04-01
23:10
Initialize ignorexmlns for tdom cmd. file: [8196176809] check-in: [4cada4420f] user: rolf branch: TDOM_NS, size: 177766
2014-11-27
14:58
Merged from trunk. file: [486eb5c84a] check-in: [a154b27b05] user: rolf branch: TDOM_NS, size: 177729
2014-10-03
00:07
Fixed a seg fault if tdom $parser enable is called in a callback of the parser it works on. file: [4e0dd69913] check-in: [dd44c6e0e0] user: rolf branch: trunk, size: 176304
2014-04-10
14:39
Started to migrate the build time TDOM_NS hack to a runtime parse option. file: [5d95d48401] check-in: [93da576a41] user: rolf branch: TDOM_NS, size: 177538
2014-01-18
18:39
Removed unused define. file: [9bf34e0957] check-in: [cbd75ded2b] user: rolf branch: trunk, size: 176113
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: [0203e218e1] check-in: [ab3fea493c] user: rolf branch: beyondBMP, size: 176176
2013-12-22
18:16
Some more minor modifications to make tdom handle 4 byte utf-8 characters right (if one gets them into a dom tree, by character entities within the xml or using parsefile). Still, accessing such pcdata beyond BMP with dom methods or xpath queries and using the result at script level will not work correctly with current tcl default build (mangled results without notification by error). file: [936d22cf83] check-in: [57d6c144cc] user: rolf branch: beyondBMP, size: 175762
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: [7a58c0473f] check-in: [db8378c250] user: rolf branch: abortableParse, size: 175730
2013-12-16
01:12
Improved error msg handling for recursive external entities. file: [eb059b5c1f] check-in: [4b9e219335] user: rolf branch: abortableParse, size: 175327
2013-12-15
01:13
Removed debugging code. file: [9a76a69457] check-in: [847fe0e7c5] user: rolf branch: abortableParse, size: 174098
2013-12-14
15:40
Fixes and improvements in case of external entities. file: [46b2c9e5d7] check-in: [5cdd39dc5a] user: rolf branch: abortableParse, size: 174151
02:50
Futher work. file: [40dca8ca32] check-in: [b9ee715299] user: rolf branch: abortableParse, size: 173870
2013-12-08
22:58
New feature: parsing may be aborted by the application. Dom building will be aborted by returning non TCL_OK from feedback cmd (nc). file: [961525c371] check-in: [fd2b6b294a] user: rolf branch: abortableParse, size: 171524
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: [2da5511984] check-in: [99765c41e5] user: rolf branch: trunk, size: 171315
2013-11-03
22:06
Improved handling of node deletion in mt builds (fixed memory corruption, if document is attached more than one time and deleted node is other than ELEMENT_NODE type, fixed memory clean up). Still room for improvement. file: [4b5f809926] check-in: [a77a362003] user: rolf branch: trunk, size: 171446
2013-08-28
12:50
Raise the limit of maximum number of different xml namespace declarations within an xml document. file: [091fd9d184] check-in: [a689b0c326] user: rolf branch: more-xml-ns, size: 171446
2007-12-25
23:18
Fixed a memory leak in case of --enable-threads. file: [f559dcf788] check-in: [96ee41816c] user: rolf branch: trunk, size: 171441
2007-08-18
12:51
More constification and clean up. file: [162019374c] check-in: [a3bd6b4470] user: rolf branch: trunk, size: 171336
00:33
Big const ification. file: [a6122a4197] check-in: [d68baf7688] user: rolf branch: trunk, size: 171489
2007-08-07
20:32
Correction for 64 bit systems. file: [6a7f6cf088] check-in: [ef534410d7] user: rolf branch: trunk, size: 171354
20:10
Changed domDoc->documentNumber, domUniqueNodeNr and domUniqueDocNr to unsigned long, to prevent hard to debug / reproduce problems on 64 systems. file: [a259ec33b1] check-in: [47be960351] user: rolf branch: trunk, size: 171340
2007-08-06
23:55
Corrected an error msg. file: [9cf8729dd6] check-in: [73bf9fdbb0] user: rolf branch: trunk, size: 171338
2007-07-31
00:23
Update to expat 2.0.1; minor build cosmetic. file: [dabf8a5405] check-in: [8ef882fd3e] user: rolf branch: trunk, size: 171318
2007-07-25
15:27
Fix for the -externalentitycommand problems on (some) 64-bit plattforms. file: [6025c65427] check-in: [65346f35d7] user: rolf branch: trunk, size: 171314
2006-05-24
11:32
Fix of the isQName method: Strings with valid prefix and non-NCNameStart char as first char after the ':' wasn't detected as invalid QName. file: [c83a57b21f] check-in: [4333e15e90] user: rolf branch: trunk, size: 171292
2005-12-10
21:09
Fixed bug in namespace handling in xsl:copy-of. file: [20f44737d4] check-in: [d3f39e0552] user: rolf branch: trunk, size: 171238
2005-12-03
13:12
Fix of the cloneNode method: if the node to clone (or, in case of -deep, a node within the subtree to clone) had a namespace declaration attribute then the result was wrong. file: [d756d9fec4] check-in: [748bc149ec] user: rolf branch: trunk, size: 169771
2005-08-20
01:31
Added function domPreviousSibling(). file: [df79a01060] check-in: [234b84b7bd] user: rolf branch: trunk, size: 169644
2005-06-10
00:20
Internal dispersion: Cleaned up rootNode/toplevel nodes connection, added new function domSetDocumentElement. file: [7982414bb7] check-in: [7988ebf1b0] user: rolf branch: trunk, size: 168177
2005-03-26
14:06
Fix in domAppendNewElementNode(), domAppendLiteralNode() and domAppendNewTextNode(): if the created node is a child of doc->root, set the parentNode according. file: [e41218e39b] check-in: [b97cb015ce] user: rolf branch: trunk, size: 169110
2005-03-18
02:17
Added document method selectNodesNamespaces, to provide a document global XPath prefix/namespace mapping. file: [12145d79c9] check-in: [aa91d3c654] user: rolf branch: trunk, size: 168921
2005-02-03
18:27
Added support for xsl:output cdata-section-elements attribute. Added method cdataSectionElements to domDocs, as tcl interface to cdata-section-elements. file: [1b953638cc] check-in: [6fb1633bd7] user: rolf branch: trunk, size: 168522
2005-01-18
23:44
Renamed exported symbols attrNames and tagNames to tdom_attrNames and tdom_tagNames, to avoid name clash. tartDoctypeDeclHandler() and endDoctypeDeclHandler(): added missing static. file: [3c90860fd7] check-in: [2ac9019f04] user: rolf branch: trunk, size: 168345
2005-01-10
19:07
Fixed a leftover reference to embedded hash table in domDocument struct. file: [89304618da] check-in: [2a90ec4f84] user: rolf branch: trunk, size: 168000
02:11
Don't embed Tcl_HashTables into dom Docs, use pointers to the hash table. Added -cache option to the selectNodes method. file: [8a720c0d23] check-in: [1bc3712dbc] user: rolf branch: trunk, size: 168001
2005-01-07
15:08
Clean up, to decrease (innocuous) compiler warnings (thanks to Pat Thoyts for triggering input and patch). file: [00fdc441c7] check-in: [557cc56ed2] user: rolf branch: trunk, size: 166802
2004-12-21
02:12
domAppendNewElementNode(): Set the namespace of a per xslt transformation generated node wrong under certain circumstances. This fixes http://groups.yahoo.com/group/tdom/message/1008. Removed leftover (former local used) define TNODE. file: [eaddf03a53] check-in: [2c65ed39b6] user: rolf branch: trunk, size: 167156
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: [19220d649f] check-in: [b08cb7d224] user: rolf branch: trunk, size: 167230
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: [282ea15197] check-in: [fe5093d90c] user: rolf branch: trunk, size: 166537
2004-07-28
03:46
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. 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. file: [6d4232ab18] check-in: [63ec828117] user: rolf branch: trunk, size: 166758
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: [b8afbe70c3] check-in: [c53ae6acea] user: rolf branch: trunk, size: 161572
2004-05-12
16:11
Changed cvs keyword. file: [b39229349e] check-in: [b7bd91a7ef] user: rolf branch: trunk, size: 159742
16:07
Editorial change. file: [5ac76750ca] check-in: [9f510a232e] user: rolf branch: trunk, size: 159746
2004-05-08
19:32
Minor editorial changes. file: [518f01b589] check-in: [4716dc798a] user: rolf branch: trunk, size: 159725
2003-12-30
19:22
Removed superfluous comma from the tdomMethod enum, which bothered the AIX xlc compiler. file: [015bc25d64] check-in: [ad392b6a4a] user: rolf branch: trunk, size: 159799
2003-12-15
01:22
More fixes to ensure ns integrity of xslt result trees. file: [298cc44601] check-in: [823c061625] user: rolf branch: trunk, size: 159800
2003-12-11
13:35
Bug fix: Don't quash white space of non white space only content in trim mode. file: [68985f18ec] check-in: [44db286071] user: rolf branch: trunk, size: 159593
2003-12-09
02:59
Bug fix in namespace handling: copy-of from result tree fragments could mess up ns handling, if a default namespace is already in scope in the result tree. file: [1a74822b6a] check-in: [78d8620e97] user: rolf branch: trunk, size: 157850
2003-11-28
01:25
With MT tDOM, a domDoc extRefHandler script may be used within another thread. file: [7b3bc55bbb] check-in: [f4c9cc0cdb] user: rolf branch: trunk, size: 157628
2003-11-27
12:58
Another fix, to ensure namespace integrity of the result doc. file: [53be329525] check-in: [b768f8d2b6] user: rolf branch: trunk, size: 157511
2003-11-24
10:12
Don't include PIs inside the internal subset into the tree. Added domDoc methods omit-xml-declaration, indent, standalone, encoding and mediaType. Changed parserObj behavior: parser don't need a reset call after a final parse or parsing error. Always use domPanic as panic function. file: [410a986bbe] check-in: [f35159af31] user: rolf branch: trunk, size: 157520
2003-10-26
17:46
Bug fix: Under some circumstances it was possible, that an URI change for a subtree was not stored in the tree (resulting in wrong base URI for that nodes). file: [be3e6d3fa1] check-in: [023d387786] user: rolf branch: trunk, size: 155364
2003-10-17
19:32
Fixed dom parse -channel option, which got accidentally broken, due to the lately switch from Tcl_GetStringFromObj() to Tcl_GetString(). file: [131238c015] check-in: [317f0af5b2] user: rolf branch: trunk, size: 155033
08:45
Attempt to enforce (where feasible) the right 78-char margin file: [970f05637e] check-in: [f06a133591] user: zoran branch: trunk, size: 155020
2003-10-12
01:57
Merged domCreateEmptyDoc() and domCreateDoc(), now there is only one API proc: domCreateDoc(). file: [e19e087517] check-in: [7f2fefd0c2] user: rolf branch: trunk, size: 154737
2003-10-10
00:25
Forgot to remove some testing/debugging code... :-( file: [7e1dcf7093] check-in: [35c8ac3269] user: rolf branch: trunk, size: 156575
00:20
Added implementation for new method "normalize" (and as a by-product a C implementation for the method appendData). file: [0ec364e169] check-in: [652229bedb] user: rolf branch: trunk, size: 156775
2003-10-01
16:38
Removed unnecessary check of domModuleIsInitialized in domReadDocument(). Corrected typo in a comment. file: [b7be5bc245] check-in: [af459797bb] user: rolf branch: trunk, size: 152432
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: [0251629508] check-in: [e6bd173417] user: rolf branch: trunk, size: 152504
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: [2bb7dcb2bc] check-in: [181e84b469] user: rolf branch: trunk, size: 148871
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: [b82449a14b] check-in: [502f04d441] user: rolf branch: trunk, size: 147300
2003-05-10
22:10
Renamed the documents rootNode (in the sense of the XPath data model, that is not the document element) from "(rootNode)" to "", in preparation for the promissed 'domDoc without documentElement' feature, to fix a somewhat outlying problem with xslt numbering and because it's clearly more the 'right thing' according to the rec. file: [f69e0c968e] check-in: [dab1effe06] user: rolf branch: trunk, size: 144765
2003-04-09
19:40
Fixed a bug in the creation of the error msg in case of parsing errors in an external entity. 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). file: [ee9c546c24] check-in: [803d0d341b] user: rolf branch: trunk, size: 144795
2003-04-03
23:07
Added domIsQNAME. Bug fix: For textNodes getLine/getColumn method report the position of the first char of the text node. file: [5cd6911f1d] check-in: [d6adb7f78c] user: rolf branch: trunk, size: 144151
2003-03-19
13:41
Replaced a few exit() code with Tcl_Panic(), which ensures, that even windows users get a usefull error msg. Fixed a mem leak in handling external entities. Added option -useForeignDTD to dom parse and expat. file: [1358431e8f] check-in: [c1c952bd76] user: rolf branch: trunk, size: 143425
2003-02-26
19:11
Improved ::tDOM::xml(Read|Open)File. Now handles also utf-16 files with BOM right. file: [06ec2fa38c] check-in: [858ccf022d] user: rolf branch: trunk, size: 142073
2003-02-22
09:37
Added some casts to MALLOC to avoid compiler warnings file: [4ff109c707] check-in: [43e91df26e] user: zoran branch: trunk, size: 141993
2003-02-09
02:13
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: Hold ID => node mapping consistent even after resetting or removal of known ID attributes. file: [7ddd58fec6] check-in: [885f793791] user: rolf branch: trunk, size: 141967
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: [890e1879bb] check-in: [d439fe172c] user: rolf branch: trunk, size: 140310
2003-01-29
02:27
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.    Fixed the problem of 'changing node references' under some circumstances (reported by Wilhelm Klink). This also decrease the possibility of a potential problem for extremely long running single threaded tDOM applications.    Fix for the problem with ownerDocument reported by Oleg Oleinick (see test dom-29.1). file: [eb09184358] check-in: [62ae741b82] user: rolf branch: trunk, size: 140109
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: [7b2cc7fc21] check-in: [0587720af1] user: rolf branch: trunk, size: 140509
2002-12-20
13:36
Added DBG wrapper arround some lingering fprintf's file: [b90639d752] check-in: [c5ee64163a] user: zoran branch: trunk, size: 138579
2002-11-16
10:53
Replaced "panic" with Tcl_Panic for 8.2+ since stubbed. Fixed some 8.0.5 compilation issues. file: [cc1b1e9335] check-in: [9f62a9d469] user: zoran branch: trunk, size: 138500
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: [467fe83f4f] check-in: [f1b90ac63a] user: zoran branch: trunk, size: 138496
2002-11-09
01:49
Minor changes. file: [5819f9a742] check-in: [811dadeb7e] user: rolf branch: trunk, size: 136887
2002-11-01
21:35
Fixed typo on line 328 (node->document >> node->ownerDocument) file: [19a87d63a7] check-in: [4ebeecc376] user: zoran branch: trunk, size: 136873
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: [f608ec52c5] check-in: [ed9663deb0] user: rolf branch: trunk, size: 136868
2002-10-31
00:22
Fixed a possible invalid memory read. file: [61dad21340] check-in: [a94300e910] user: rolf branch: trunk, size: 136241
2002-10-29
23:36
Better error reporting in case of parsing errors in external entities. file: [7b4507ea93] check-in: [2d8d929036] user: rolf branch: trunk, size: 136190
2002-10-20
15:45
Added new interface function domIsChar, which checks, if a given string consists of XML Chars. file: [6497769722] check-in: [6a3d82bc9c] user: rolf branch: trunk, size: 134657
2002-10-13
00:54
Minimal code tweaking, needed for VC++ 6.0 build. file: [88d1aac25f] check-in: [4a8cfb7247] user: rolf branch: trunk, size: 134228
2002-10-09
00:26
MutationEvent() is a define, that currently is replaced to a noop by the preprocessor. They are a preparation for DOM 2 events. There isn't a callback to tcl level for them, up to now, but Jochen claims, that they are at the according places. Removed a erroneous MutationEvent(), inserted by me. file: [64bd25974e] check-in: [3f4740e079] user: rolf branch: trunk, size: 134214
2002-09-30
23:08
Make moving namespaced nodes and attributes from one tree to another work. This is not allowed by the DOM rec, but it always worked intentional for not namespaced subtrees, because it's pretty handy in some cases. Additional, if subtrees are moved around in one document, namespace declarations are inserted, if necessary, to make the result a namespace correct result. Again, this does not follow the letters of the DOM rec, which requests, that the application is responsible for this. But it's much more convenient (at least for the application programmer), if the DOM layer takes care about this. If someone really insist in messing up namespace declarations, it still has any chance to do this with changing or removing namespace declaration attributes. file: [cfaef2ebcc] check-in: [e95a142242] user: rolf branch: trunk, size: 134235
2002-09-12
17:13
Fixed problem with appendChild and node crossing doc boundaries for MT-builds. Thanks to Harray Moreau for the patch. file: [87552f2393] check-in: [29057ac4f2] user: zoran branch: trunk, size: 133010
2002-09-08
20:10
mpatrol'ed and valgrind'ed the tests and fixed a closed a few memory leaks. file: [0c70dd2131] check-in: [1f8a0f0d11] user: rolf branch: trunk, size: 132293
2002-09-01
00:11
Added check to domFreeNode() is needed under some circumstances while using the tdom command. Initialised a var in setDomDocumnet, to pacify -Wall. Fixed docNode handling of the tdom command. file: [63451300cc] check-in: [bc0742b883] user: rolf branch: trunk, size: 132305
2002-08-31
18:48
Added cleanup of the already builded DOM tree in case of an XML parse error. Fixed the completely broken tdom command (r1.20 removed the "return TCL_OK" at the end of the case's, instead of replacing them with "break".) This means, the tdom command is broken in 0.7.4! file: [d135057121] check-in: [850c8fd9f2] user: rolf branch: trunk, size: 132324
2002-08-06
02:17
Fix in domLookupNamespace(). doc->nsptr points to the last used namespace. It is initialized with -1. There for the new <= is right and secure. file: [adf503f128] check-in: [4e160a0dad] user: rolf branch: trunk, size: 132053
2002-08-04
23:23
Fixed handling of the 'build-in' namespace prefix "xml". file: [6d57a83f1c] check-in: [1541e67085] user: rolf branch: trunk, size: 132052
2002-07-28
08:27
Moved to new memory allocation macros. file: [a80a8ba0c9] check-in: [6eb6a47711] user: zoran branch: trunk, size: 131142
2002-07-11
01:00
Fix for setAttributeNS: Added more tests of the arguments file: [9862f0eb22] check-in: [c862db14a7] user: rolf branch: trunk, size: 131340
2002-07-04
11:28
Changed some switch logic to satisfy (picky) Sun compiler. file: [e805a7e315] check-in: [895fec6100] user: zoran branch: trunk, size: 131150
2002-07-03
10:11
Added some comments so one could better understand the output of the Sun's compiler; most notably lines of code never reached. file: [95a4eb2481] check-in: [3dd7939827] user: zoran branch: trunk, size: 131307
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: [0a49ec3add] check-in: [cf121768d4] user: zoran branch: trunk, size: 131287
2002-06-25
23:35
Re-added the improved reuse of namespace indexes, that was removed by mistake with the previous commit. file: [ac19a17ef6] check-in: [4f4e1b94f3] user: rolf branch: trunk, size: 131197
13:06
fixed ugly appendChild bug. file: [f6afedf2e2] check-in: [70a1200332] user: loewerj branch: trunk, size: 131486
2002-06-23
00:05
Improved reuse of namespace indexes. file: [0c5b9d9223] check-in: [10e1e38aa0] user: rolf branch: trunk, size: 131224
2002-06-21
10:38
Fixed node numbering to use document-private node-counter when compiled with -DTCL_THREADS. Node Tcl-command names are still defined in the usual fashion, by using the (unsigned int)(domNode*) in order to get unique command names within the process and accross thread/interp combi. file: [8788940d54] check-in: [621b16c214] user: zoran branch: trunk, size: 131514
2002-06-20
13:14
fixed compile warnings file: [19fbf0abb9] check-in: [1a2378d93d] user: loewerj branch: trunk, size: 131432
12:18
fixed indentation file: [fdbc6b637a] check-in: [bf4ffaa595] user: loewerj branch: trunk, size: 131413
2002-06-10
01:02
Namespace handling fix. file: [9865eb783c] check-in: [c38384c9fa] user: rolf branch: trunk, size: 131417
2002-06-07
08:51
Fixed memory leak in domFreeNode file: [1dfc29cc78] check-in: [09eb27be69] user: zoran branch: trunk, size: 131024
2002-06-03
18:59
Fixed missing reference count on extResolver object in domReadDocument. file: [5cbb9d04cf] check-in: [99bd7aa3a8] user: zoran branch: trunk, size: 131474
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: [ed7ad6ed9a] check-in: [7077725403] user: zoran branch: trunk, size: 131402
2002-05-24
13:48
Copy the extResolver for every dom document. The reason, why this is needed, is deep inside of tcl's handling of Tcl_Obj's. Inrecementing the obj's refCounter doesn't protect the obj to 'shimmer' (to change his internal representation). TclCmdNameObj's don't know how to regenerate there string representation, if that string rep was invalidated. If that happens, tcl panics with "UpdateStringProc should not be invoked for type cmdName". file: [6d48159fc5] check-in: [45964023c8] user: rolf branch: trunk, size: 134108
2002-05-10
02:30
A few things at one: Made attribute set names namespace aware. If a literal result node has no namespace, and at the insertion point of the result tree is a default namespace in scope, unset the default namespace, while adding the node. Enhanced domSetDocument, that it not only set the ownerDocument right, but also resets the namespace indexes. file: [1c49b0294b] check-in: [9e4ae2ec82] user: rolf branch: trunk, size: 134012
2002-04-29
20:49
Bug fix in domAppendNewElementNode(): if element uri is NULL, but there is a default namespace in scope, add xmlns="" (unset default namespace). file: [9e32a8c840] check-in: [c264ddc33a] user: rolf branch: trunk, size: 133285
02:29
Bug Fix: namespace attributes are not in a namespace. file: [840499190d] check-in: [92244eac07] user: rolf branch: trunk, size: 133091
2002-04-28
22:27
Improved xsl:elements: non QNAME name as element name is detected now. Bug Fix in domSetAttributeNS(). Small improvement of domCopyTo(): don't copy namespace attribute if it isn't necessary. Bug fix for xsl:copy. file: [d9b4b0f482] check-in: [a9500c3a2b] user: rolf branch: trunk, size: 133036
2002-04-26
01:14
Improved namespace support. New domCopyTo() for XSLT. Little improvement of xpathGetPrio(). file: [8cb68afb09] check-in: [6925b06892] user: rolf branch: trunk, size: 131790
2002-04-23
20:46
domSetAttributeNS: if the attribute is in a namespace, check, if the namespace, actually bound to the attribute prefix is in deed the same, the attribute must be in. file: [350bff55a5] check-in: [d7989bd111] user: rolf branch: trunk, size: 127821
2002-04-22
21:32
Added xsl:namespace-alias. file: [f83fa3e1cc] check-in: [5b62c9f047] user: rolf branch: trunk, size: 127756
00:54
Improved handling of literal result elements: now namespaces in scope are also copied to the result tree, if needed. exclude-result-prefixes and extension-element-prefixes of xsl:stylesheet elements are respected. (Still to do: xsl:extension-element-prefixes and xsl:exclude-result-prefixes attributes of literal elements.) file: [a391c4b6dd] check-in: [4ff4ec642f] user: rolf branch: trunk, size: 132068
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: [40d254dd06] check-in: [b5afde4623] user: rolf branch: trunk, size: 130250
2002-04-09
17:20
Actual HEAD does not compile (!! arg). With this (intermediate) state it should. Some of the changes will be undo and replaced by others. file: [500ad08b08] check-in: [e3ba6d222a] user: rolf branch: trunk, size: 140402
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: [176f5e8dca] check-in: [0e6533ac59] user: rolf branch: trunk, size: 127810
2002-03-10
01:16
Added support for [dom createDocumentNS]. Added tests for correctness of document Element tag name. file: [b7c1fddaae] check-in: [bd23419f09] user: rolf branch: trunk, size: 119233
2002-03-07
22:11
Freeze of actual state, befor feeding stuff to Jochen. file: [da7230e56a] check-in: [cf9a256595] user: rolf branch: trunk, size: 117849
2002-03-01
01:30
No real code changes. Only to log additional change in 1.3: Fixed namespace overflow throu repeated (identical in prefix and uri) namespace declarations. file: [55e3acfb89] check-in: [1ac62d594e] user: rolf branch: trunk, size: 116359
01:18
Changed parsing. [dom parse ..] now uses Tcl_GetStringFromObj(), dom parse -channel now respects the encoding of the channel. file: [21cdaa1e72] check-in: [8cc106f218] user: rolf branch: trunk, size: 116147
2002-02-23
01:13
Some code tweaking for a mostly warning free MS build file: [ca13ba8eb0] check-in: [64a4af89f8] user: rolf branch: trunk, size: 113550
2002-02-22
01:05
tDOM0.7test with Jochens first set of patches file: [ff2ad8874c] check-in: [002482c973] user: rolf branch: demo, size: 113686
01:05
Initial revision file: [f9d3a61e80] check-in: [98cd4affb5] user: rolf branch: trunk, size: 113653 Added