jez
17e93705ae
redirect to DOMSink when evaluating variables. This wasn't being done for ResolvedVariables and so everything was exploding.
2009-12-14 14:20:12 +00:00
jez
3991f80eb2
increment changes with the aim of improviing performance of variables
2009-11-23 21:00:23 +00:00
jez
6785fd8944
litte bit more work on variable resolution, but train in v wobbly and it giving me a headache
2009-10-05 19:27:24 +01:00
jez
29f73f285b
When declaring a parameter, only create a new variable closure if a parameter
...
hasn't been passed.
2009-08-18 21:16:12 +01:00
jez
db940c9b78
Pass select by const ref not by value
2009-08-18 20:42:37 +01:00
jez
1f12f0a2f0
nodeset functions now use NodeSetXPathFunction base class
2009-07-13 09:24:26 +01:00
jez
428121bab4
moved string functions to use StringXPathFunction base class
2009-07-13 09:13:50 +01:00
jez
014ea05879
updated TO-DO to include various performance improvement ideas
2009-05-05 19:30:47 +01:00
jez
d681db69b2
Literal result element as stylesheet - done
2009-04-28 20:59:52 +01:00
jez
9f6fbba927
removed left over stuff for foreign element handling
2009-04-28 09:00:05 +01:00
jez
7b1c5c9541
started on literal result elements as stylesheet
2009-04-28 08:57:14 +01:00
jez
bf5799eefd
pulled foreign element handling - fixed parameter order inconsistency
2009-04-24 19:02:14 +01:00
jez
6081659b71
neatening
2009-04-24 15:54:13 +01:00
jez
62b24c144d
Resolved cdata-section-element names so that unprefixed names are in the default namespace. Merge multiple xsl:output/@cdata-section-elements
2009-04-07 13:39:31 +01:00
jez
b70e521d79
hooked up cdata-section-elements to the output
2009-04-07 10:29:56 +01:00
jez
f6dfa127a1
OK, forget what I said about state machines, let just hack in some flags.
...
Initial work on CDATA section output. If I manually populate the set of
cdata section elements, everything looks great, so I just need to hook that up.
Added operator< to QName so I pop it in a std::set.
2009-04-03 19:01:26 +01:00
jez
89f6585d65
pulled output into its own file
2009-03-31 20:06:06 +01:00
jez
f373a1d01b
some work on implementing cdata section output, then realised it would probably be easier if I dropped a state machine in there
2009-03-31 20:00:26 +01:00
jez
7dd3cb4ab4
blow up if we see an extension prefix declaration
2009-03-31 09:15:32 +01:00
jez
94d5a26c6c
skip test for two arg version of document() - not yet implemented
2009-03-27 08:30:28 +00:00
jez
83cd0cd15b
working on the IdKey match pattern - currently crashes
2009-03-17 21:08:26 +00:00
jez
9f4c8d213a
xsl:stylesheet can have an id attribute
2009-03-17 19:07:00 +00:00
jez
67e8a31360
allow whitespace within xsl:output
2009-03-17 09:07:22 +00:00
jez
8f97c52f8a
added copy constructor to KeyFunction::UriMapper - some compilers want to copy, while the cooler ones can optimise that copy away :)
2009-03-04 20:34:30 +00:00
jez
b01c03f591
exclude attributes in the XSL namespace from literal elements
2009-03-03 18:15:34 +00:00
jez
b6c83a0028
corrected key population when use is a union
2009-03-03 08:12:26 +00:00
jez
9ddbb95491
implemented nodeset version of key()
2009-03-03 07:58:29 +00:00
jez
88150c062e
use NodeSet.to_document_order instead of sort
2009-03-03 07:58:14 +00:00
jez
d7602d5a7d
Windows compatibility fix - it defines min as a macro, so use bracket function call to defeat it
2009-02-26 14:38:23 +00:00
jez
4af8e6472e
keys stored on a per-document basis, as per the end of rec 12.2
2009-02-26 10:30:16 +00:00
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
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
4030057c74
propogating recent edits through
2009-02-23 19:43:20 +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
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