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
jez
353ad2fa91
corrected copyright date
2008-07-29 19:50:33 +01:00
jez
f29fbced15
libxml2 and xerces wrappers now build again
2008-07-17 10:00:32 +01:00
jez
88de9056da
build through on cygwin with expat
2008-07-16 10:01:08 +01:00
jez
ce8fb28f5f
added get_string_adaptor as a slightly less typing version of using get_param to pull it
2008-07-16 09:08:59 +01:00
jez
707cd47f41
After all this time realised I had too many template parameters on the
...
XMLReaderInterface template. It is only interested in string_type and
string_adaptor. All the fancy TMP to extract types and what not
is only relevant in *_wrapper classes.
2008-07-15 18:59:03 +01:00
jez
01cfd6eef7
build files for VS2008
2008-07-15 09:10:43 +01:00
jez
3d62ee558e
Applied Michael Fink's Win32 expat patch
2008-07-07 17:00:11 +01:00
jez
04e0cb5952
craigp's patch for Xerces 2.8
2008-07-04 23:06:37 +01:00
jez
1719005582
updated for gcc 4.3.1
2008-07-03 21:43:56 +00:00
jez
1b1b5d2072
fixed typedef
2008-06-26 13:37:17 +00:00
jez
508536ee27
Patches so that we can build successfully without Boost.
2008-06-26 13:34:00 +00:00
jez
1431e900e9
throw error if transform is run with no input
2008-06-04 20:30:36 +00:00
jez
73d0cdaef9
fixed for other than std::strings
2008-05-30 21:45:27 +00:00
jez
3874438091
Include default namespace when constructing namespace nodes
2008-05-28 16:37:15 +00:00
jez
9ba32a5160
corrected compareNodes for the case where the two nodes are from different documents
2008-05-28 15:08:58 +00:00
jez
2e1b775e71
changed the handling of RelativeLocationPath token when building a step list. There might be things following the path, and must take them into account. Test position89 exposed a problem prompting this change.
2008-05-28 15:08:35 +00:00
jez
53fbf26ff0
Correctly implemented Namespace Nodes.
...
The XPath data model requires that namespace nodes are associated with an element, and sort ahead of attribute nodes in document order. Until now, Arabica's namespace node had no parent, or owner document and so was failing these requirements. The Xalan position111 test case highlights this requirement.
2008-05-28 08:53:21 +00:00
jez
5d7f3364ba
Visual Studio, how I curse your useless warning C4800
2008-05-28 08:45:25 +00:00
jez
f89a2be3cc
fix in MultiplicativeExpr rule for Boost 1.35
2008-05-04 18:10:03 +00:00
jez
261f589f47
2008-05-04 14:41:23 +00:00
jez
51e4cad4a0
marked functions as inline as requested, although not entirely sure if it should be necessary :)
2008-04-28 09:13:49 +00:00
jez
84d7d9390a
spelled underlying_impl wrong all these years and never realised, start work on sorting namespace nodes ahead of attribute nodes
2008-04-23 14:41:00 +00:00
jez
c6564e798c
added missing typename
2008-04-23 14:39:11 +00:00
jez
f818f192af
fixed match rewriting when there are leading predicates - http://www.jezuk.co.uk/jez/2008April#3711
2008-04-18 09:11:51 +00:00
jez
a049a72c08
fixed sorting bug when reverse sorting a nodeset which includes the root node
2008-04-17 20:32:32 +00:00
jez
9ea360f3ef
collapsed tagsoup-port into mainline
2008-04-07 15:37:47 +00:00
jez
ebbd739051
initialise lexicalHandler_
2008-02-08 16:01:38 +00:00
jez
71b7af819f
xsl:sort - blow up if we get a lang attribute
2008-01-19 22:45:48 +00:00
jez
7bd88a7bbe
2007-12-25 22:23:25 +00:00
jez
0850f50269
tweaking document order across documents - not for any better reason than making a test case pass
2007-12-25 21:56:28 +00:00
jez
934a03e703
oops - ncnames don't contain colons
2007-12-23 22:52:39 +00:00
jez
95a3a42002
can see it now - uninitialised variable
2007-12-23 09:51:28 +00:00
jez
2e6c372933
hacked up a ncname test, although it's not working at the moment and I'm tired and can't think
2007-12-22 22:21:26 +00:00
jez
be877b8d50
MSVC can't handle static members in nest classes of template classes
2007-12-21 17:02:12 +00:00
jez
235f81718d
Added Expression_scanner and scan (a visitor pattern basically) to allow XPathExpression_impls to be examined. This is used in the match rewriting to search for position() and last() function calls.
...
To ease implementing scan, BinaryExpression and UnaryExpression now inherit XPathExpression_impl. Other classes now derived only from Binary|UnaryExpression rather than from XPathExpression_impl as well.
2007-12-21 15:56:04 +00:00
jez
a8ce93f89b
First proper go at rewriting positional matches.
2007-12-21 14:13:36 +00:00
jez
cbc9cf3797
it's late
2007-12-20 23:24:16 +00:00
jez
f87c01fc53
2007-12-20 16:23:56 +00:00
jez
cdac22542e
added type() to XPath expressions. I need this to allow XSLT match patterns to be rewritten properly - see http://www.jezuk.co.uk/cgi-bin/view/arabica/log?id=3546 - but it will also be useful for compile time checking (should I get sufficiently keen :)
2007-12-18 23:03:16 +00:00
jez
02fe02da03
"If the parser has not read a declaration for the attribute, or if the
...
parser does not report attribute types, then it must return the value
"CDATA" as stated in the XML 1.0 Recommentation (clause 3.3.3,
"Attribute-Value Normalization")."
and:
"Returns: The attribute's type as a string, or an empty string if the
index is out of range."
Problem found reported by Christoph Anderegg, christoph@anderegg-sommer.ch
and corrected with this commit.
2007-12-07 23:28:59 +00:00
jez
e659f3cce4
changed scope of StackFrame for apply templates
2007-11-26 23:17:11 +00:00
jez
213934528b
xsl:stylesheet now allows top-level elements in a foreign namespace
2007-11-23 00:07:08 +00:00
jez
7c491700d3
disallow pcdata ahead of xsl:param
2007-11-22 23:02:08 +00:00
jez
6425632f01
blow up if QName is bad
2007-11-22 22:36:47 +00:00
jez
4ed4928695
check xsl:for-each selects a node-set, I suspect it should be able to diagnose this at compile time but it at least it fails :)
2007-11-22 21:54:51 +00:00
jez
c7c0c3d36c
xsl:processing-instruction shouldn't allow xml as the name
2007-11-22 21:24:17 +00:00
jez
cdebc3d128
moved namespace and function resolver into compilation context. disallowed current() in match patterns
2007-11-22 19:24:18 +00:00
jez
375a2d584f
no longer expose xpath compiler directly during XSLT compilation
2007-11-22 17:50:25 +00:00
jez
69a322f7f2
Alex Ott's patch to kill an initialisation order warning
2007-11-22 16:50:33 +00:00
jez
e2713a0fbc
DOM stream now outputs <elem/> for empty elements
2007-11-22 16:49:25 +00:00
jez
95857fc467
detect duplicate variable and parameter names
2007-11-21 22:35:04 +00:00
jez
341d3db1ac
reworked stylesheet compiler and inclusion to trap illegal elements as xsl:stylesheet's children
2007-11-21 22:34:15 +00:00
jez
a9a5858300
working on detecting illegal xsl:stylesheet children - including is currently broken
2007-11-20 23:12:08 +00:00
jez
a0083c14d2
''
2007-11-19 22:11:05 +00:00
jez
0d385d1ab2
xsl:call-template throws if it can't find a matching template
2007-11-16 23:11:39 +00:00
jez
a9d7e1dcdd
verify xsl:sort attribute values
2007-11-16 23:10:41 +00:00