diff options
author | Nick Wellnhofer <wellnhofer@aevum.de> | 2009-09-17 15:23:46 +0200 |
---|---|---|
committer | Daniel Veillard <veillard@redhat.com> | 2009-09-17 15:23:46 +0200 |
commit | 3d435b25cf2e8112d87cb133c00b94d5924ec75c (patch) | |
tree | 921e0c62276d311b3061d71d5858dcb56d008b50 /libexslt/math.c | |
parent | d65daeaf651adde15a9f34d93d8cf3f3303303ff (diff) | |
download | libxslt-3d435b25cf2e8112d87cb133c00b94d5924ec75c.tar.gz libxslt-3d435b25cf2e8112d87cb133c00b94d5924ec75c.tar.bz2 libxslt-3d435b25cf2e8112d87cb133c00b94d5924ec75c.zip |
Big fixes of pattern compilations
The problem is that "@node()", "attribute::node()", "child::node()" and
"node()" are all handled in different code paths and only the latter
works.
Then, I noticed that the handling of match="child::name" is wrong. It
matches the parents of <name> elements although it should be treated
exactly like match="name". So the whole XSLT_OP_CHILD stuff is
unneeded.
I also found that xsltScanName behaves a bit strange with regard to
':' characters. It doesn't parse an XML Name like the documentation
says. It's better to use xsltScanNCName instead.
Another minor issue is that the parser currently allows invalid
expressions like match="element*" because of lines 1745-1747 in
pattern.c in trunk.
* libxslt/pattern.c: fix all those problems
* tests/REC/Makefile.am tests/REC/test-5.2-19* tests/REC/test-5.2-20*
tests/REC/test-5.2-21*: add test cases to the regression suite
Diffstat (limited to 'libexslt/math.c')
0 files changed, 0 insertions, 0 deletions