Version date: 20061026

XQTS 1.02 dev (from CVS) and add test harness to test supplied XQX files by transforming to XQuery then executing with xq2xsl
XQTS 1.0
Add namespace attribute to axsl:attribute (as previously done for axsl:element) (XSLT)
Detect many more static errors and return correct codes (XSLT)
Improve interaction between boundary space and CDATA sections (XSLT,XQX)
Further fixes to namespace on computed elements (XSLT)
Use CVS access to development Test Suite
20060711 (unreleased)
Default to stripping boundary space (XQX)
Use xsl:text for CDATA sections so boundary space is not stripped (XSLT)
handle - in comments better (XSLT)
20060627 (unreleased)
Add namespace attribute to xsl:element for computed constructor. (XSLT)
Omit xsl:fallback if no fallback expression in Query (XSLT)
add treat as expression to model as clause in quantified expressions (XSLT)
ParenthesizedExpr now translates to xqx:sequenceExpr not xqx:parenthesizedExpr (which will be removed from xqueryx) (XQX)
Upgrade to new xqueryx.xsl and xqueryx.xsd as posted to bugzilla (XQX)
Upgrade to Test Suite 0.9.4
Undo reordering of Setter Declarations (no longer needed) (XQX)
Unravel special casing of first step in pathExpr to wrap in argExp (no longer needed) (XQX)
Do range checks "by hand" when faking xs:int and friends on a basic XSLT processor (XSLT)
Inprove conversion of quantified expressions involving type declaration (still not 100%) (XSLT)
Check for -- in comment constructors (not an error in XSLT) (XSLT)
20060608 (unreleased)
Special case document() key() and current() to generate an error (pre-release of XQTS 0.94) (XSLT)
Special case FLWOR that starts with a let clause to keep the variable correctly scoped. (pre-release of XQTS 0.94) (XSLT)
Upgrade to Saxon 8.7.1
Upgrade to Test Suite 0.9
Generate correct error codes in more cases (XSLT)
Several minor changes to namespace node usage on element constructors (XSLT)
Cause all Setter to come before other Prologue expressions (to be valid) (XQX)
20060313 (unreleased)
Generate error for duplicated attributes (XSLT)
Schema import for default namespace sets xpath-default-namespace (XSLT)
Generate error for $p at $p (XSLT)
Add "treat as" to xsl:variable in for-each clause to force sequence type matching (rather than the more relaxed xslt as= matching) (ForExprType046.xq) (XSLT)
force "?" to come after AtomicType, not before when converting a SingleType (XSLT)
Generate errors if declared XQuery version is not 1.0 or if there are 2 boundary space, copy namespace, construction mode, ordering mode or default collation declarations (XSLT)
use xsl:element name="{string(... to force QName to string, so xsl:element can interpret it as a QName... (ExpandedQNameConstructFunc001) (XSLT)
In scope variables may come from function declaration parameters as well as FLWOR etc (XSLT
replace function ns of "" with non empty ns (function-declaration-025.xq) (XSLT)
fix empty order declaration (regressed since parser change) (XSLT)
catch two empty order declarations (emptyorderdecl-1) (XSLT)
Modify test stylesheets to cope with external variable tests (XQX,XSLT)
Make xsl:sort explictly default to codepoint collation (XSLT)
Upgrade to Saxon 8.7
20060130 (unreleased)
Don't generate text nodes for text{()} (Constr-text-count-2) (XSLT)
20060126 (unreleased)
Modify test harness to support module references (XSLT)
Update to Test Suite 0.8.4
Detect error condition on empty URI literal in default namespace decln and module import. (XSLT)
Predeclare the xsi namespace. (XSLT)
Trap ?> in PIs (an error in XQuery but not in XSLT) (XSLT)
Pick up XPath/XSLT switch functions in test attribute as well as select (XSLT)
Add xq2xq and fullaxis stylesheets (XQ,FA)
Modify code to defeat static analysis in typeswitch (as saxon 8.6.1 seems to have got smarter) (XSLT)
20051208 (unreleased)
Update to Test Suite 0.8.2 and Saxon 8.6.1
Fix to BaseURI and namespace Decl to "unquote" strins (XQX)
Fix to "as" type declaration clause in let clause of FLWOR (XQX)
Fix typo to allow redclaration of xdt namespace prefix (XSLT)
Add code to avoid XSLT errors on xml namepsace declarations (XSLT)
Add template for ModuleDecl/NCName, broken by November re-write (XQX)
Abbreviated axis step defaults to attribute:: if step is an attribute() or schema-attribute() node test (XQX)
Declare the four tests with "Inspect" comparison as passes. (XSLT)
Fix to pass in scope positional variables to functions when switching to XPath mode (XSLT).
W3C parser applet released!
Given up waiting for the W3C Test Applet to be finally released: This page updated.
20051107 (unreleased)
Update EBNF comments in xq2xsl to EBNF from CR draft. Results in some templates being re-ordered.
Document the new location for the XQuery parser applet distribution.
20051103 (unreleased)
Update to Test Suite 0.8, change test harness for XSLT so that Text Comparison is treated as Fragment (after clarification on bugzilla).
Update to Saxon 8.6: This allows me to get rid of all use of the 2005/04 namespaces.
20051030 (unreleased)
Major restructuring for November parser which uses look ahead rather than long tokens to disambiguate the Grammar productions.
Many internal production names changed, and productions that previously reported long tokens (typically a QName adjoined with some white space and punctuation character) now report just the QName. Some other restructuring of the parser output have taken place, for example ForClause is now explictly reported (rather than being implied by the reporting of the range variable.) This results in a simpler stylesheet, but many changes, and this release no longer works with older versions of the parser applet.
The xq2xml class has been cleaned up by Scott, and renamed to Xq2xml and included in the main xquery.jar. This means that the xq namespace used for saxon extension functions is now java:Xq2xml rather than java:xq2xml, and a separate xq2xml.jar file is no longer distributed or required.
The standard xquery parser applet now includes a built in XQuery to XQueryX convertor, so in some ways xq2xqx is redundant, however I continue to support it as a) I think it is useful to have a more declarative description of the mapping between XQuery and XQueryX than Java code, b) Xq2xml was there first, and it's a shame to throw it away, c) There's no harm in giving people a choice. (A third XQuery to XQueryX converter is also in use, and is being used by the XQuery Test suite team to generate XQueryX versions of the test files.)
Update to test suite 0.7 (small changes to driver files required)
Fix to stable order by (XQX)
Regenerate the XQX zip file to have xq2xqx generated files rather than the files included in the 0.7 test suite release.
Remove generation of xqx:boundarySpaceDecl (for bugzilla #2288)(XQX)
Separate out attributes and namespace declarations (for bugzilla #2260)(XQX)
Add error parameter to xq2xqx stylesheet and use this in xq2xqxtest so that if the generated xqx needs to call error() it uses a Qname specifying the expected error. (XQX)
Support redeclaring and undeclaring predefined namespaces (XSLT)
Document handling of options and extensions (XSLT)
Make .. expand to (the equivalent of) parent::node() not parent::* (XQX)
don't discard option declarations (XSLT)
Add basic xslt built in types fudge for cast expressions, remove it for instance of (XSLT).
Fix typo in match patterns for preceding-sibling axis (XSLT)
Fix multiple variables in quantified expression (XQX and XSLT).
Support Validation expressions (XSLT).
Documentation improvements.
Documentation improvements.
Add xsltest zip file of XQuery test suite converted to XSLT.
First release on

xq2xml is a personal project undertaken by David Carlisle (davidc "at" nag "dot" co "dot" uk). It is however distributed with the knowledge of, and from a web site controlled by, my employer NAG Ltd.