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
4f28c8ae71
key as match pattern now runs - woo
2009-03-23 19:38:59 +00:00
jez
0a6f2071eb
Id and Key match patterns now compile
2009-03-23 19:08:04 +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
334317f422
filename case fixes
2009-03-12 20:00:35 +00:00
jez
8cadf886d0
Got Taggle test passing.
...
Rework Taggle's internal Element class to use a reference counting scheme,
so it's passed around by reference, rather than y value (and hence having lots of copying). I think the ref-counting is correct, but I haven't checked it yet.
2009-03-12 09:49:45 +00:00
jez
55e7094204
whitespace changes
2009-03-09 22:52:34 +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
e33535905a
propagating qualified name changes
2009-02-26 14:04:41 +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
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
jez
d173537cde
sync with home
2008-09-03 00:39:39 +01:00
jez
bc233d68ca
Updated NodeTest to match CDATA sections as well as text nodes.
2008-08-26 11:53:14 +01:00
jez
cec3c0c659
reworked absolutising, it's better, but I need to go back to the RFC at some point
2008-08-25 23:05:37 +00:00
jez
07ef52f308
Added -table option to test executables. It outputs the results as a tab
...
seperated table, which can be pasted into spreadsheet/google docs/etc.
2008-08-09 23:19:21 +01:00
jez
1ad8594aad
updated attribute validation to allow attributes in the xml namespace
2008-08-09 21:03:15 +01:00
jez
cd3577292d
Ensure an unbound namespace prefix throws an exception
2008-08-09 18:24:34 +01:00
jez
b668bdc3b2
removed TODO comment, because I actually did it sometime ago
2008-08-09 18:24:11 +01:00
jez
a1890d2a31
amazingly, the XPath prefix:* didn't compile. I had no test for it, and had overlooked it. fixed
2008-08-09 17:32:28 +01:00
jez
04af379b54
ensure @xmlns|@xsmlns:* selects no nodes
2008-08-09 17:03:44 +01:00
jez
3511768691
was evaluating select expression twice - there was no need
2008-08-09 17:03:02 +01:00
jez
0aeeb9c1fb
Don't suppress element namespace prefixes or attributes which are in the
...
XSL namespace.
2008-08-08 22:46:18 +01:00
jez
468d401865
converted tabs to spaces
2008-08-08 22:45:53 +01:00
jez
b08e5f8ab5
Visual Studio 6 hasn't been a build target for some time now. Removed the left over bits of VS6 specific workarounds.
2008-08-06 23:05:53 +01:00
jez
812925e669
Added configure tests for std::mbstate_t and/or mbstate_t. Some platforms
...
don't have it (VxWorks, for example).
2008-08-06 22:31:39 +01:00
jez
363a413a53
When running stylesheet, resolve variable values straightaway. This flushes out unresolved references and so on, although only in templates which are actually run.
...
Added several more test cases.
2008-08-06 12:34:35 +01:00
jez
fc2a67619b
Corrected spelling of precedence. I have no idea why I had it wrong in the first place, it just seems to be what comes out of my fingers
2008-08-06 12:07:59 +01:00
jez
b187cc1667
Removed use of boost:ptr_vector. Turns out that std::vector<boost::ptr_vector<something> > won't compile.
...
Also see http://sourceforge.net/mailarchive/message.php?msg_name=2103b1960807291110y5f0063eaqb4c855f5aa56974e%40mail.gmail.com and discussion for bonus reason.
2008-08-06 11:48:06 +01:00
jez
843631092c
Resolve top level variables, to make sure they are properly defined.
...
Variables within templates are not resolved in this way unless they are actually used.
2008-08-05 22:17:08 +01:00
jez
b559feb7be
Added several more variables tests, related the namespace prefixes
...
fixed internal qname resolution - 2.4 says unprefixed names are not in the default namespace
fixed xsl:element - unprefixed names, when no namespace uri is supplied are in teh default namespace
2008-08-05 22:03:33 +01:00
jez
72e8decc76
added some precedence tests
2008-08-05 20:35:28 +01:00
jez
2667963142
Top level variables are now handled according to import precedence.
2008-08-05 18:29:18 +01:00
jez
538fe00271
whitespace changes
2008-08-05 15:32:40 +01:00
jez
441be1bbf2
attribute and elements now form there own variable scope.
2008-08-03 17:11:27 +01:00
jez
1ac9440433
reject variables/params which have both a select attribute and text content
2008-08-02 21:58:20 +00:00
jez
d357f70405
detect circular references and throw exception
2008-08-02 21:41:44 +00:00
jez
189ea0a33e
corrected xsl:stylesheet attribute validation
2008-08-01 19:42:37 +01:00
jez
53c647c1a1
Changed default text handling. Text containing only whitespace is now output, where previously it was suppressed.
...
All Modes tests now pass.
2008-08-01 19:33:52 +01:00
jez
6a2101d6cb
Verify qNames when processing.
2008-08-01 19:20:28 +01:00
jez
3a3f5d4b32
Validate xsl:stylesheet attributes properly
2008-08-01 19:19:49 +01:00
jez
f14cb010a3
added is_qname function, and tests
2008-08-01 13:02:41 +01:00
jez
e0fcea7d71
added is_ncname_char
2008-08-01 13:02:21 +01:00