Commit graph

75 commits

Author SHA1 Message Date
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
1ad8594aad updated attribute validation to allow attributes in the xml namespace 2008-08-09 21:03:15 +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
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
1431e900e9 throw error if transform is run with no input 2008-06-04 20:30:36 +00:00
jez
5d7f3364ba Visual Studio, how I curse your useless warning C4800 2008-05-28 08:45:25 +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
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
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
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
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
jez
7962545efb Blow up if unknown child element encounter 2007-11-16 22:27:21 +00:00
jez
308cde7df7 xsl:templates - make sure any mode attribute is not empty 2007-11-16 22:05:42 +00:00
jez
bfe132b8a5 ensure xsl:choose has at least one xsl:when 2007-11-16 22:03:47 +00:00
jez
7b5f83ee43 fixed for empty comment 2007-11-11 21:31:49 +00:00
jez
a1c71b3625 xsl:message can contain an xsl:message - now handled properly 2007-11-11 21:31:10 +00:00
jez
68a6d52d11 don't output attributes in the xsl namespace or declare the namespace itself 2007-11-08 23:05:46 +00:00
jez
2053c94f4a Use std::stable_sort instead of std::sort. When xsl:sort specifies a numerical sort, but you've got some string data in there we need to maintain the relative of that string data. This is the first time I've actually used std::stable_sort. I will mark it down in my big book of programming accomplishments. 2007-11-03 01:55:20 +00:00