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

History of generic/domxpath.c

2019-11-30
00:50
Merged from trunk. file: [adaeea8606] check-in: [8c0cc53beb] user: rolf branch: schema, size: 208260
00:47
Editorial clean up: Removed cvs keywords in source code headers; the are obsolete. file: [24e6e48cd6] check-in: [14a8728e63] user: rolf branch: trunk, size: 205832
2019-07-12
22:26
Merged from trunk. file: [1fc938eeaa] check-in: [df3a907a20] user: rolf branch: schema, size: 208273
2019-07-11
14:07
Fixed possible floating point exception with arithmetic operator 'mod'. file: [ab0e0dafa3] check-in: [7cf8bdeb6c] user: rolf branch: trunk, size: 205845
02:02
Fixed possible seg fault with malicious input. file: [9685065050] check-in: [d22f55f9a3] user: rolf branch: trunk, size: 205571
2019-07-10
23:27
Fixed seg fault in reporting certain invalid xpath exprs with a number with nr of digits in a certain range. file: [c843326c5b] check-in: [ad8242fa18] user: rolf branch: trunk, size: 205571
21:56
Replaced the last two atof(). file: [dda6e276e3] check-in: [52d6965abb] user: rolf branch: trunk, size: 205571
2019-05-21
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: [078d9fea77] check-in: [f645e5dfe1] user: rolf branch: domlocalkey, size: 207634
2018-10-25
14:01
Bug fix: if the argument to the id() function evaluates to a node set then the result of the function call is the union of using the string value of every of the nodes in the node set and every of that string values split by whitespace into looked up items. This (splitting up the string value by whitespace into a list of looked up items) was up to now only done, if the argument evaluated to a string result. file: [a71e0f1107] check-in: [a4b0959de1] user: rolf branch: trunk, size: 205206
01:06
Bug fix: Corrected the default value of a templates priority in case the match pattern has the form of processing-instruction(Literal); the default value (in case of no priority attribute on the template) was -0.5 and is now 0.0. file: [36e11064a3] check-in: [f5cb4572d8] user: rolf branch: trunk, size: 205533
2018-10-24
09:21
Fix for [9eba7475e7f6f9]. file: [29b5a5e656] check-in: [8943afe645] user: rolf branch: trunk, size: 205494
2018-08-08
22:39
Changed the license to MPL 2.0. file: [98d77ff553] check-in: [39f9d6bbbf] user: rolf branch: trunk, size: 205415
2018-07-17
00:23
Some --pedantic compiler pacifying. file: [72e51fffad] check-in: [491081c44c] user: rolf branch: trunk, size: 205415
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: [7ca0e71d98] check-in: [d729de4c39] user: rolf branch: abandon80, size: 205373
2018-02-23
15:21
Fix error in xpathNodeTest. xpath-5.56 now passes. file: [79d3d5e271] check-in: [7bafc781b3] user: yorick branch: pyk-parsexpath, size: 209000
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: [db7f9a3fae] check-in: [0fcd6c63e6] user: yorick branch: pyk-parsexpath, size: 208993
06:21
Merge trunk, breaking things. file: [deec77f1a8] check-in: [9927f3c39e] user: yorick branch: pyk-parsexpath, size: 206469
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: [5909056177] check-in: [de204a84e6] user: rolf branch: trunk, size: 206634
2018-02-01
00:16
A couple of spell fixes / typing error corrections. Thanks goes to Gustav Neumann. file: [c78b0039f4] check-in: [4897033c1b] user: rolf branch: trunk, size: 206634
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: [3f630de780] check-in: [f8ced39e14] user: rolf branch: trunk, size: 206633
2017-08-16
16:13
Fixed bug in selecting nodes in the global namespace (in no namespace), which where created and inserted into the doc at a place were a default namespace is in scope with xpath. file: [50a45ca765] check-in: [4d9b475d35] user: rolf branch: nodecmdns, size: 206638
2017-08-15
20:59
Changed slightly the format of the output of the parsed tokens within the error msg in syntactically wrong xpath expressions, because the up to now format wasn't the same on different platforms. Renamed the json test file; the tests cover more than just parsing json. file: [b15b79bd5a] check-in: [7cce9c5133] user: rolf branch: trunk, size: 206440
2017-07-30
00:48
Fixed seg fault in case of attribute node as context node of an id() function call. file: [7ca875b87f] check-in: [8a41290899] user: rolf branch: trunk, size: 206438
00:04
Fixed seg fault in case of attribute node as context node of a lang() function call. file: [226f3450e9] check-in: [b8bbb8a60a] user: rolf branch: trunk, size: 206450
2017-07-28
22:28
Fixed a SIGFPE in case of a float that casts to integer 0 on the right side of a mod. file: [68c6c8d3ca] check-in: [8c247cfc54] user: rolf branch: trunk, size: 206296
2017-07-24
13:03
Looking closer at it there are always fine points. Fixed the new element name injection syntax if the element name is '*'. file: [641234be0c] check-in: [efb5498f2d] user: rolf branch: json, size: 206293
2017-07-21
14:34
Last needed major feature added: A syntax to 'inject' any possible element name into an xpath expression. Lacking more input from interested parties I took the %varname approach (similar to $varname approach for injection of literals) because it seems it's almost bindly simple to implement. file: [fafd984539] check-in: [9002adc958] user: rolf branch: json, size: 205590
2017-07-03
14:28
More progress. file: [94d3364f64] check-in: [2d793fe147] user: rolf branch: wip, size: 204698
2017-06-30
23:01
Fixed some problems in the code. Saved before attempt to greater rework, to takle others. file: [f650c7bffe] check-in: [41e23c35ea] user: rolf branch: pyk-parsexpath, size: 204708
10:28
Separate XPath parse and eval function steps and move variable access from parsing step to eval step. file: [1d36291fc4] check-in: [20779fa343] user: yorick branch: pyk-parsexpath, size: 204716
2017-06-16
00:36
Don't put syntaxically wrong XPath expressions into the cache. Fix for [97c0994ae4]. file: [c55b713408] check-in: [5b9f6c7c6d] user: rolf branch: trunk, size: 204863
2015-08-19
23:58
Removed code cruft. file: [8e6b97379a] check-in: [d68f0946b1] user: rolf branch: trunk, size: 204740
23:22
An xpath expression with more then one step after a // could return the matching nodes not in document order. file: [59c0677c68] check-in: [5ce8894ca4] user: rolf branch: trunk, size: 205525
2015-04-01
18:12
Plugged memory leaks in case of defective XPath expressions. file: [53ef9689ff] check-in: [6cae756100] user: rolf branch: trunk, size: 205481
2015-01-25
00:09
Fixed / better handling of over- or underflow integers given literal within the xpath expression. file: [8f57e90c0a] check-in: [a34b1c1dff] user: rolf branch: trunk, size: 205495
2015-01-20
23:08
Fixed even more possible seg faults in case of "random" xpath input. file: [6d822e96b6] check-in: [e44ca3a81b] user: rolf branch: trunk, size: 205105
2015-01-18
20:34
Fixed more possible seg faults in case of 'random' xpath input. file: [ca33138425] check-in: [66eccc9114] user: rolf branch: trunk, size: 205106
01:57
Fixed seg fault in case of special crafted XPath expressions. file: [3b28f9f5df] check-in: [987b9125a2] user: rolf branch: trunk, size: 204901
2014-12-11
22:49
Fixed XPath bug, if logical comparing nodesets with numbers. If some node in the nodeset has a string value, that looks like a double in some other standards but is not a number according to XPath, the result of the comparsion could be wrong. file: [4a9fa52432] check-in: [9c3092c53e] user: rolf branch: trunk, size: 204835
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: [12c13c9b2d] check-in: [57d6c144cc] user: rolf branch: beyondBMP, size: 205710
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: [6d56c7c84e] check-in: [99765c41e5] user: rolf branch: trunk, size: 205710
2013-09-06
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: [de6749f1c5] check-in: [1745c828bc] user: rolf branch: toXPath, size: 205802
2007-08-23
16:33
Fixed bug triggered by invalid XSLT XPath pattern (normal XPath expr (via selectNodes) wasn't infected). Checked the code for similar spots and fixed a few. Replaced a fprintf(stderr, ..) called in an 'impossible' case with a more appropriate domPanic call. file: [756cd0b1b7] check-in: [7614ab937d] user: rolf branch: trunk, size: 205111
2007-08-18
00:33
Big const ification. file: [621b4abb9e] check-in: [d68baf7688] user: rolf branch: trunk, size: 204391
2007-08-05
17:52
Casted arg of ctype.h is* macros/function calles to unsigned char to reduce compiler warning noise. file: [6a69cf98e4] check-in: [523049bfc6] user: rolf branch: trunk, size: 204350
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: [08a6fa7bbb] check-in: [3843d517af] user: rolf branch: trunk, size: 204157
2007-07-31
00:57
Bug fix: floats in xpath expressions starting with . could have an additional (erroneous) dot in it without detection. file: [7b723cc157] check-in: [2d062126ae] user: rolf branch: trunk, size: 202915
2007-01-05
13:35
In XPath expressions: Whitespace between the abbreviated attribute axis specifier @ and the attribute name is allowed. file: [b4842c777a] check-in: [cdce3c4ffa] user: rolf branch: trunk, size: 202432
2006-11-08
00:19
Fixed seg fault in XPath expr parser for a certain kind of erroneous XPath expressions. file: [02cbae620b] check-in: [7a36c0d787] user: rolf branch: trunk, size: 202356
2005-10-19
19:14
Fixed string-length() and substring() to work on chars, as they should, not on bytes. file: [f7bcf5493d] check-in: [a4a5e6d71a] user: rolf branch: trunk, size: 202278
2005-09-18
23:42
Improved detection/reporting of XPath syntax errors. Fixed two memory leaks in the XPath parser in case of kind of erroneous XPath expressions. file: [ad38bc6ae6] check-in: [8cf25a61b6] user: rolf branch: trunk, size: 200732
2005-09-17
00:18
id() on an empty node set should return an empty string, according to the rec, not raise an error, as it did up to now. Fixed a memory leak in concat() in the case of xpath expressions as arguments, which raise error. Normally, XPath expressions doens't raise error at all; that's how XPath is designed. That is unfortunately not completely true with current tDOM, because of a few buggy returns in the tDOM XPath function implementations (to be fixed quickly), because, tDOM doesn't do an as rigoros as possible argument check at XPath expression parsing time (that will change) and because of user defined XPath extension functions. file: [586e86daad] check-in: [88f05466f1] user: rolf branch: trunk, size: 200393
2005-09-12
22:11
Bug fix: The namespace axis will be emtpy unless the context node is an element. file: [00a52636f3] check-in: [5d5240f9ee] user: rolf branch: trunk, size: 200356
2005-02-03
17:45
Editorial changes. file: [6a7a900d32] check-in: [82f23225b0] user: rolf branch: trunk, size: 200294
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: [02ffa809d4] check-in: [1bc3712dbc] user: rolf branch: trunk, size: 200298
2005-01-07
15:08
Clean up, to decrease (innocuous) compiler warnings (thanks to Pat Thoyts for triggering input and patch). file: [5f823ce79d] check-in: [557cc56ed2] user: rolf branch: trunk, size: 199819
2004-12-12
16:09
xpath expressions ancestor-or-self::node() and parent::node() returned wrong result if the context node is /. file: [fe3b067ff3] check-in: [5fecb1d987] user: rolf branch: trunk, size: 199825
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: [4397eeac81] check-in: [b08cb7d224] user: rolf branch: trunk, size: 199601
2004-09-02
17:07
toXPath method: fixed bug with non-element top level nodes, closed mem leak. file: [3cc5ab07df] check-in: [e5074c2f5d] user: rolf branch: trunk, size: 198482
2004-08-17
19:37
Removed unused variables. file: [8946a81ee4] check-in: [c55ee6bc39] user: rolf branch: trunk, size: 198779
2004-08-14
14:42
Use 'Id' cvs keyword (instead of 'Header') in the file heads. file: [329ccee8bd] check-in: [53f68b654a] user: rolf branch: trunk, size: 198802
2004-05-26
01:49
Minor editorial changes. file: [0fb2d188ef] check-in: [3dfa6b9f59] user: rolf branch: trunk, size: 198806
2004-03-26
00:36
Fix for the template priority calculation and clearing out of xpathGetPrio(). file: [d4bfbab71d] check-in: [ba7f759018] user: rolf branch: trunk, size: 198784
2003-12-30
19:24
Implemented the special constraints on certain xpath pattern/expr (no current() func in pattern, no var references in template and key match pattern and key use expr, no key() func in key match pattern and use expr.)    Editorial change: Removed some superfluous casts to (char*) from tdomstrdup result - its defined to return char*. file: [109579a3b9] check-in: [14a732182d] user: rolf branch: trunk, size: 199004
2003-12-11
18:41
Bug fix: double mem free in case of pattern w/ FQ element with positional dependent predicate. file: [e8e8c34677] check-in: [56ba5cea1c] user: rolf branch: trunk, size: 196794
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: [d56bd8fa95] check-in: [78d8620e97] user: rolf branch: trunk, size: 196627
2003-11-24
10:14
Fixed a mem leak with some sum() calls with NaN result. Fixed invalid memory read. file: [a3318697a7] check-in: [b3e6e12689] user: rolf branch: trunk, size: 196518
2003-11-03
00:20
Fixed memory leak, if floor or ceiling are called with non-numbers. file: [7c2d942168] check-in: [d543bb73af] user: rolf branch: trunk, size: 196534
2003-10-26
02:01
number() bug fix: Now works according to the XPath rec understanding of a Number, not with the libc understanding of a double. Globalized the macro IS_XML_WHITESPACE. file: [3b71879535] check-in: [c6a0b5c30c] user: rolf branch: trunk, size: 196477
2003-10-22
15:33
Bug fix in the xpath lexer: In a union expr, a NCName test with a name equal to an operator was wrongly interpreted as operator. file: [3043714f28] check-in: [c434fd2b49] user: rolf branch: trunk, size: 195435
2003-10-21
22:26
Changed handling of key node sets. It's a somewhat focused optimization, for the price of a very small overall cost. I've done it anyway, because it's an very notable speed up for an important xslt pattern (the so called Muenchian Method for grouping). file: [acccf3b5d9] check-in: [b2c6dec8ca] user: rolf branch: trunk, size: 195369
2003-10-12
01:59
Removed not used vars. file: [7bd83d3009] check-in: [fc30d07ea2] user: rolf branch: trunk, size: 194365
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: [625a56d778] check-in: [08d7ad7cbc] user: rolf branch: trunk, size: 194411
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: [cfeade8404] check-in: [e6bd173417] user: rolf branch: trunk, size: 194395
2003-09-27
23:33
Bug fix: preceding-sibling axes could give wrong results in case the context node is a child of rootNode (e.g the documentElement). file: [ae5839d790] check-in: [8bf9c107c2] user: rolf branch: trunk, size: 198904
2003-04-03
23:06
Bug fix: Detects now some erroneous XPath expressions. Added parameter number check to XPath functions substring and concat (the last two XPath functions, without such check, they must have slipped thou somehow, up to now). file: [e14c75997d] check-in: [a4cd1d36a9] user: rolf branch: trunk, size: 198751
2002-12-21
20:44
Fixed the changes by me in rev. 1.60 in the XPath Lexer. file: [2ed7412802] check-in: [868915c3d1] user: rolf branch: trunk, size: 200534
2002-12-20
13:36
Added DBG wrapper arround some lingering fprintf's file: [2f94e1f955] check-in: [c5ee64163a] user: zoran branch: trunk, size: 200284
2002-11-27
20:37
FQ names with a localname equal to a XPath 'keywork' (for example ns1:div) are now recognized as node test (they raised error up to now). file: [f8e9191f6f] check-in: [d8e9714e8a] user: rolf branch: trunk, size: 200235
2002-11-09
01:49
Minor changes. file: [69d3d08cae] check-in: [811dadeb7e] user: rolf branch: trunk, size: 199851
2002-11-03
14:32
Fixed ridiculously long runtime of certain // expr on certain documents. During analysis and testing, it turned out, that it would have been an even simpler approach, to simply expand the abbreviation // in the according productions. Though, the choosen implentation seems often to be (slightly) faster and is a start to collect experiences with early predicate evaluation. file: [dc08f8c472] check-in: [fde4487199] user: rolf branch: trunk, size: 199961
2002-11-01
00:26
Full qualified XPath function names now are accepted as syntactical correct expr. The function call is resolved to the Tcl proc dom::xpathFunc::<namespaceURI>::<functionLocalname>. file: [082e0345c1] check-in: [871af13bd5] user: rolf branch: trunk, size: 197253
2002-10-31
00:25
Fixed memory leak with preceding-sibling axes. Massaged rscopy code, to pacify memory debugger. Removed old (dead) code. file: [c0b85b9e7b] check-in: [a577ce8226] user: rolf branch: trunk, size: 195424
2002-10-17
00:07
Removed bogus code (which may not harm compliance, but speed in a few cases). file: [970c96ee15] check-in: [051984cb16] user: rolf branch: trunk, size: 196713
2002-10-16
21:59
Bug fix in rsAddNode: if the node to insert into the nodeset was befor all the nodes, already in the nodeset, the new node was inserted at the end. Now, it's correctly inserted as first node. file: [c846a4ffdc] check-in: [c4edde30c3] user: rolf branch: trunk, size: 196842
2002-10-14
23:56
A few minor (and mostly not even notable) optimizations, partly of dubious value. At least the improved match pattern predicates optimizations point to the right direction (and are real winner for some stylesheets and real big input data), even if this hole predicate optimization business should reworked to a more general solution, instead of the current 'handle some common cases and try to be on the secure side for all other' approach. file: [9243cb5d1d] check-in: [b1dc4a4d34] user: rolf branch: trunk, size: 196776
2002-10-09
01:41
As in r1.50 presumed, there's always more to do with resultset. Now, I hope, I got it somewhat finaly right (and fixed a few bugs, which just wasn't triggered by the tests up now). We expect at several points, that every result set is given in document order. Now, rsAddNode takes care, that this is in deed the case. (Experience shows, that it is seldom needed, to insert a node into the set; in almost all all day cases, the node must simply appended to the result set.) Removed the nowhere used step type "Str". Fixed the steppattern optimization code. Removed some dead code. file: [485534cdee] check-in: [a5019185cc] user: rolf branch: trunk, size: 194432
2002-10-02
00:14
Better memory clean up in case of erroneous XPath expression. file: [c5dbb61fe6] check-in: [cee5915867] user: rolf branch: trunk, size: 195245
2002-09-18
22:07
Further tinkering with rsAddNode, which is most of the problem, that heftix has reported (http://groups.yahoo.com/group/tdom/message/273). This changes are probably not the hole story, but this version passes all my standard tests. file: [592a9cc4b1] check-in: [877829fd76] user: rolf branch: trunk, size: 195046
2002-09-10
13:51
Fix for seg fault, if somebody provides an erroneous XPath (something $node selectNodes {*[1}). Bug reported by "Bart Teeuwisse" <bart-yahoo@7-sisters.com>. Now, returns sensible error msg. file: [40be392072] check-in: [2e36e10845] user: rolf branch: trunk, size: 193933
2002-08-04
23:35
Bugfix for absolute path starting with full qualified elementname. Notorious Problem: the attribute nodes structure is substantial different from the node structure - no ownerDocument pointer, parent node pointer at different place. This means type check at all places, where the context node could also be an ATTRIBUTE_NODE. This is already done at, well, as this example shows shows, almost all places. Now it's also done for selectRoot. Minor editorial changes. file: [332eb4cdf1] check-in: [12bab8d699] user: rolf branch: trunk, size: 193808
2002-07-28
08:27
Moved to new memory allocation macros. file: [3d70792be1] check-in: [6eb6a47711] user: zoran branch: trunk, size: 193301
2002-07-17
01:28
Fixed opaque memory allocation. file: [692c5b68c4] check-in: [0ae5ead236] user: rolf branch: trunk, size: 192988
2002-07-11
01:14
Optimization for xpath expr of the form 'foo[1]' or 'foo[position() < 3]': build the result node set only up to the point, needed for the filter predicate. file: [bc86b9a536] check-in: [da21eba74d] user: rolf branch: trunk, size: 193002
2002-07-07
21:12
More changes and fixes related to the NaN/Infinity problem. file: [b291c43aa4] check-in: [936b72d814] user: rolf branch: trunk, size: 189569
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: [a0d9e6905e] check-in: [d04dfd3362] user: rolf branch: trunk, size: 187032
2002-07-04
12:32
Removed a not reached return NULL to satisfy (picky) Sun compiler. file: [a7ec37c88e] check-in: [c82a4bbb4f] user: rolf branch: trunk, size: 183681
2002-06-21
09:52
Added a importand missing break. file: [0a5635393b] check-in: [cdc2797d0e] user: rolf branch: trunk, size: 183745
2002-06-20
19:16
Re-inserted a varaible declaration needed for tcl >= 8.1 (compile error) file: [4a3bef9623] check-in: [e6be684d82] user: rolf branch: trunk, size: 183717
13:14
fixed compile warnings file: [3c773e5ea7] check-in: [1a2378d93d] user: loewerj branch: trunk, size: 183714
12:21
fixed typo (Tcl8.0.x compile problem) file: [521c7b682a] check-in: [243441d7da] user: loewerj branch: trunk, size: 183347
2002-06-10
01:02
Closed a few memory leaks. file: [3af9eccbba] check-in: [4c0c694345] user: rolf branch: trunk, size: 183346
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: [766e049893] check-in: [7077725403] user: zoran branch: trunk, size: 183316
2002-05-19
00:41
Optimization for predicate handling. No visible effect with standard xsltmark test files, but a lifesaver for other cases out of the wild. For example, xmlconf.xml / xmlconformance.xsl out of http://www.oasis-open.org/committees/xml-conformance/suite-v1se/xmlconf-20010315.htm is speeded up more than six times. file: [e14159cca2] check-in: [adc606e802] user: rolf branch: trunk, size: 184679
2002-05-15
22:56
Changes needed for MS build. file: [e0e9204e36] check-in: [9fde8342b2] user: rolf branch: trunk, size: 184421
2002-05-11
16:57
Made variable/parameter namespace aware. file: [343cea2920] check-in: [53f9d10272] user: rolf branch: trunk, size: 184460
2002-05-10
20:29
Made key names namespace aware. file: [8079bb1a4a] check-in: [58cd284453] user: rolf branch: trunk, size: 182856
2002-05-09
01:17
Futher i18n-lization. Most basic stuff in xpathLexer() should be done no, though there is much room left for optimations. file: [187888f08f] check-in: [f376f8d74e] user: rolf branch: trunk, size: 182882
2002-05-04
01:29
Some optimizations and a bit code cleanup. Removed all XPath functions code from xpathEvalStep() and packed it in a own xpathEvalFunction() function. Introduced a xpath function tag for fast identifying of the function; the tagging is done at xpath expression parse time (since the function name is already known, at this time) and therefor saves any strcmp() calls for any following calls to the function. Stripped the initialization of xpathResultSet's down to setting the type (to EmptyResult) and the nr_nodes (to 0) - that's all needed settings - and inlined the xpathRSInit(). file: [f887839e23] check-in: [04590fa80c] user: rolf branch: trunk, size: 183020
2002-05-03
01:23
Improvement for XPath substring(): Really only a corner case: postive infinity is a acceptable value for the third arg. (See XPath rec 4.2, it has an explizte example for this.) file: [032111eaf2] check-in: [f5347c9ef2] user: rolf branch: trunk, size: 179759
2002-05-01
00:54
Introduced AxisDescendantLit and AxisDescendantOrSelfLit (a bit of a, aehm, let't call it workaround). With that, wie can distinguish between // and descencant or descendant-or-self. And reinsert the handling of the predicate filter with respect to the child axes for // in xpathEvalStepAndPredicates(). file: [9cf0d8c698] check-in: [24fb8a62ad] user: rolf branch: trunk, size: 179484
2002-04-30
00:26
Bug fix for XPath local-name(): the local name of a default namespace attribute (xmlns=".."") is the empty string "" (XPath rec 5.4) file: [662b94ab6a] check-in: [a6793350a4] user: rolf branch: trunk, size: 179440
2002-04-29
16:42
Bug fix in count(). Bug fix: corrected typo in unparsed-entity-uri() function name. file: [6af38c76cf] check-in: [1de23925e3] user: rolf branch: trunk, size: 179220
15:56
Better propagation of (+/-)Infinity. file: [51c710d6d8] check-in: [bc58a13476] user: rolf branch: trunk, size: 179186
14:04
Cleanup in xpathEvalStep(): Use consistently xpathEvalStep() for every argument of XPath functions (instead of several xpathEvalSteps()). This is save, because XPath function calls are added with AddChildWithEvalSteps() in Production(FilterExpr). file: [732349dd9c] check-in: [003b2a37da] user: rolf branch: trunk, size: 179157
03:29
Better propagation of NaN. file: [7d015e3e75] check-in: [c2d5fcb1eb] user: rolf branch: trunk, size: 178780
02:12
Bug fix for XPath substring(). The type change of the var 'from' from unsigned int to int prevents an error, if from must be negative in the substring code. A bit code cleanup (and added handling of EmptyResult for two of the XPath functions. file: [5effeec581] check-in: [ba9ff2790f] user: rolf branch: trunk, size: 178695
2002-04-28
23:56
Bug fixes in new UnaryMinus and full qualified attribute queries code. file: [93515f1648] check-in: [e1bad840e7] user: rolf branch: trunk, size: 179323
23:26
Bug fix for xpath round(): round(-2.5) should return -2. file: [60a6a761a2] check-in: [9490c37af4] user: rolf branch: trunk, size: 179310
22:20
Added full qualified and namespace wildcard attribute queries. Fixed a Bug with following axis expression starting from an attribute. Added handling of UnaryExpr to xpathEvalStep(). Improved xpathGetPrio(). file: [03c0ee164e] check-in: [48fafe5882] user: rolf branch: trunk, size: 179309
2002-04-26
01:14
Improved namespace support. New domCopyTo() for XSLT. Little improvement of xpathGetPrio(). file: [4ac487ca73] check-in: [6925b06892] user: rolf branch: trunk, size: 174758
2002-04-23
23:55
Bug fix for following axis starting from an attribute. file: [e27026f90b] check-in: [40f2ded91f] user: rolf branch: trunk, size: 172066
23:41
Bug Fix in xpathMatches file: [ce92cd33e8] check-in: [12a19a41ee] user: rolf branch: trunk, size: 172054
20:42
Bugfix for FillNodeList: a match pattern with predicate may need a FillNodeList. Such a match pattern can now match the documentElement. file: [b6ebfc9aea] check-in: [5a2a55be3e] user: rolf branch: trunk, size: 172052
2002-04-22
21:33
Editorial changes. file: [a0b86fb40d] check-in: [ab569aef00] user: rolf branch: trunk, size: 171616
2002-04-19
20:48
Added handling of IS_NS_NODE flag set for an attribute node at a few more places. file: [54df8a4824] check-in: [084a5878bb] user: rolf branch: trunk, size: 175867
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: [c6fde3fad5] check-in: [b5afde4623] user: rolf branch: trunk, size: 175670
2002-04-09
01:59
xslt rec 5.2: "The string-value of an element node is the concatenation of the string-values of all text node descendants of the element node in document order." (Also true for root node.) The xpathGetTextValue() could not used for recursive getting of the text node descendants, because it also returns the text value of comment and processing instruction nodes. xpathGetTextValueForElement() does, what the spec requires. file: [dbaab6a773] check-in: [69ed879f48] user: rolf branch: trunk, size: 173447
2002-04-06
00:44
Added a few more rsAddNodeFast and checkRsAddNode. file: [232078c2dc] check-in: [d98de7757e] user: rolf branch: trunk, size: 171929
2002-04-01
04:24
Closed a memory leak in not(). file: [748b49d927] check-in: [1cf8371190] user: rolf branch: trunk, size: 171805
2002-03-31
03:27
Enhanced the useage of rsAddNodeFast(). Fixed a bug in Production(StepPattern) and closed a memory leak in xpathMatches(). file: [2ec08ae6dd] check-in: [b11313f86e] user: rolf branch: trunk, size: 171685
2002-03-25
01:29
Closed some memory leaks. Fixed a bug in // handling. A bit code cleanup. file: [bfebcf3dae] check-in: [36b80d4fb1] user: rolf branch: trunk, size: 170999
2002-03-23
00:31
Fix for multiple predicates on pattern steps. Patterns of the form foo[attr='c'][2] now work correct. file: [d48d9fe892] check-in: [a4ded5b2c6] user: rolf branch: trunk, size: 171750
2002-03-22
00:14
Removed some overseen debugging code. file: [0e108b9cba] check-in: [88276c97b8] user: rolf branch: trunk, size: 170605
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: [7749c4fe4a] check-in: [0e6533ac59] user: rolf branch: trunk, size: 170913
2002-03-07
22:16
Improved recognition of REALs (of the form .123). Made variable name recognition UTF-8 save. Freeze of actual state, befor feeding stuff to Jochen. file: [7ab63cd230] check-in: [916956c205] user: rolf branch: trunk, size: 183349
2002-02-23
01:13
Some code tweaking for a mostly warning free MS build file: [54e2cd36aa] check-in: [64a4af89f8] user: rolf branch: trunk, size: 182768
2002-02-22
01:05
tDOM0.7test with Jochens first set of patches file: [414435c76c] check-in: [002482c973] user: rolf branch: demo, size: 182585
01:05
Initial revision file: [368fa5f678] check-in: [98cd4affb5] user: rolf branch: trunk, size: 182552 Added