Commit graph

251 commits

Author SHA1 Message Date
jez
8cb5109ac1 keys now look something up. yay! 2009-02-26 10:16:49 +00:00
jez
ff835d03c0 Pass inscope namespaces to key functions so it can resolve key names at runtime
key() now works (bar nodeset argument)
just need to do the key lookup
2009-02-26 09:32:55 +00:00
jez
b494ffe317 added push_back(NodeSet) 2009-02-26 09:32:02 +00:00
jez
9b70ca5187 rather large commit, propagating the QualifiedName changes through the NamespaceSupport and Tracker, simplifying item names in XSLT and so on. 2009-02-24 12:21:35 +00:00
jez
c0659319c4 switch NamespaceSupport over to use QualifiedName 2009-02-23 22:02:17 +00:00
jez
4030057c74 propogating recent edits through 2009-02-23 19:43:20 +00:00
jez
a958b03544 parameterised XML string tests on string_adaptor
hooked into qname parsing
2009-02-23 19:23:12 +00:00
jez
412a7f2204 initial version of parseQName 2009-02-23 09:14:35 +00:00
jez
31b8d99a83 parameterised QualifiedName 2009-02-23 08:38:50 +00:00
jez
32bc0e6597 decided to go with prefixes after all 2009-02-23 07:57:24 +00:00
jez
46d51800aa Fix to uri parsing so that something like
http://www.google.com
finishes up with www.google.com as the host, and not the path.
Yay.
2009-02-20 23:00:01 +00:00
jez
2fd1f52ace starting xsl:key/key()
started qnmae refactoring
2009-02-18 22:48:35 +00:00
jez
297345f3c3 started filling out xsl:key and keys. need to do a bit of refactoring around QNames now, to make everything a little easier 2009-02-18 09:36:41 +00:00
jez
b22708f126 s/XPathValuePtr/XPathValue/ 2009-02-18 08:37:16 +00:00
jez
0b2bb658b9 Skinned up skeleton implementation of key() function. Doesn't do anything yet though :) 2009-02-18 08:37:00 +00:00
jez
4d9c2a485a started work on xsl:key/key() 2009-02-16 22:10:00 +00:00
jez
c7a3f9be3f improved validation on template priority value 2009-01-03 21:41:26 +00:00
jez
2877e7e9b7 escape tab, CR, & LF in attribute values 2009-01-02 23:08:22 +00:00
jez
e944732d82 detects loops in imports as well as includes 2008-12-29 22:29:27 +00:00
jez
8c65657d84 added currentBase - handy for debugging 2008-12-29 22:29:04 +00:00
jez
73a90f502d catch include loops 2008-12-29 21:14:44 +00:00
jez
ab4f951840 fixed top level variable precedence 2008-12-02 11:26:58 +00:00
jez
0a2220dbb0 added operator<< back in for debugging 2008-12-02 11:26:28 +00:00
jez
cd97e2aa58 Correct top level variable declarations 2008-11-25 12:49:25 +00:00
jez
38d2783be3 Finally! Determining import precedence for templates is properly correct. 2008-11-25 12:27:33 +00:00
jez
fe40d482f5 Aha! The push/pop precedence thing is, of course, wrongly wrong. Need to assign the new precedence at the point we encounter the xsl:import, then set that precedence as current when we actually load it. I'll sort that out next time, because it's bedtime for programmers now. 2008-11-24 23:11:22 +00:00
jez
538a8969ad seed the Precedence next generation differently, so can pop as well as just push precedence stack as we unwind imports 2008-11-24 22:26:58 +00:00
jez
6f39b28daa Reworked current_generation stuff to use the templates' Precedence instead of a plain old int 2008-11-24 22:05:16 +00:00
jez
f610d739fe More work on rejigging precedence.
Templates are now constructed with their precedence.
Variables are too, with a tweak to allow for the immediate evaluation of non-topl-level params and vars.
The execution context now no longer needs to track variable precedence, which is good because it will be getting it wrong anyway.
Corresponding simplifications follow to compliation context.
2008-11-19 17:26:07 +00:00
jez
8d0ce36da3 Rework variable handling to use the Precedence class. Currently it has the same (incorrect) behaviour as before, but it's all part of moving to towards (what I hope will be) proper import precedence handling. 2008-11-05 22:55:53 +00:00
jez
e8c0aaa416 Started work on refactoring precedence handling. Need to try and preserver the tree shape it forms, rather than a simple case of monotonically increasing precen
I mean decreasing precedence.
2008-11-05 02:57:18 +00:00
jez
2b2c09b1f3 Took out unparsed-entity-uri(). Not having it is better than have a neutered version. 2008-11-05 02:55:44 +00:00
jez
6c8a3e8404 hmm, I'll be needing this to make the previous checkin actually work 2008-11-05 02:54:49 +00:00
jez
b74514bc58 Shuffled around the Stylesheet class. Stylesheet is now the public face, while CompiledStylesheet is what gets chucked around internally. 2008-11-05 01:33:28 +00:00
jez
f74170e268 In XPath numbers do not have leading +, so, while '-1.5' converts to -1.5,
'+1.5' converts to NaN.  Weird and counter-intuitive perhaps, but it's there
in the spec.

Sort now sets context node appropriately, so current() works in sorting 
expressions.
2008-11-03 22:19:59 +00:00
jez
db54b7c7bc In XPath numbers do not have leading +, so, while '-1.5' converts to -1.5, '+1.5' converts to NaN. Weird and counter-intuitive, but in the spec. 2008-11-03 18:29:10 +00:00
jez
57f793ccc8 provided null implementation for unparsed-entity-uri 2008-10-27 22:20:49 +00:00
jez
4e418a8622 Implemented generate-id function 2008-10-27 19:13:47 +00:00
jez
04de9f2b60 Throw exception on xsl:sort lang not on order. Oops. 2008-10-27 14:26:20 +00:00
jez
c4d237e97b Bugfix: flush buffer on startEntity/endEntity 2008-10-21 22:54:37 +01:00
jez
7f99fa0b1e output warning message now directed to the message_sink 2008-10-21 22:53:00 +01:00
jez
ea9d34c7d0 Validates xml:space values. Attributes in the xml namespace now returned too 2008-09-19 09:03:19 +01:00
jez
d3f42542ad Updated template handler to use the attribute validator 2008-09-19 09:03:19 +01:00
jez
2f4848bedc Fixed element value when has consecutive text node descendants 2008-09-19 09:03:19 +01:00
jez
36400c00be Quick patch to stop Taggle mangling up UTF-8 multibyte sequences. 2008-09-19 09:03:19 +01:00
jez
93549c451d improved preceding and preceding-sibling in the face of consecutive text nodes 2008-09-18 22:43:56 +01:00
jez
2cf6d009bf added some more following, following-sibling, and child axis tests in the presence of text nodes 2008-09-17 22:58:36 +01:00
jez
49fa53e9b0 Updated child and descendant axis to skip over adjacent text nodes 2008-09-16 08:58:18 +01:00
jez
57e8e9248e Reworked node value to combine consecutive text nodes together into a single value 2008-09-13 18:36:46 +01:00
jez
25dc9795ab slipped TextCoalescer filter into the DOM builder, so that consecutive bits of text get applied to a single Text or CDATA node, rather than as a series of nodes. (A series of nodes is perfectly legal, it's just slightly unexpected. Even to me, and I work with DOMs a lot :) 2008-09-03 00:44:50 +01:00