These changes are in more-or-less reverse chronological order, with the most recent changes first.
See also the list of general Kawa changes.
Fix some problems building Qexo from
Can set the base uri from the command line:
order by clause of FLWOR-expressions now works.
qexocommand-line command is now installed (if using
maketo build and install).
doc function now properly remembers previously-read
documents, so reading the same document twice yields identical nodes,
as required by the specification.
doc-available function is newly implemented.
declare base-uri statement now works.
The standard functions
are now implemented.
max now atomize nodes if needed.
Hence some more standard use cases now work.
External variables are implemented.
For example given a file
declare variable $input external;
you can run it thus:
qexo fname=my-file.xml -f script.xql
You can specify the serialization parameters
Warns about old syntax.
declare default collation. This is mainly a place-holder
so we can correctly implement functions that use collations.
.xquery as XQuery file extensions,
to match latest draft.
Added QName functions
Implement namespace declaration attributes such as
'M to N' is now empty if M > N, following the November '03 draft.
New Java api for evaluating Java expression with a given context sequence
(item, position, size). See
Much improved namespace support. Namespace attributes in a source xml document are remembered, and correctly serialized (printed). There is support for namespace undeclarations (as in the XML Namespaces 1.1 Candicate Recommendation). Copying element nodes (as needed when creating new element nodes with element constructors) should correctly copy the namespace declarations. Still missing is support for namespace attributes in element constructors.
Support compiled library modules: 'module' and 'import module' statements. Efficient cross-module calling. (Needs documentation.)
Proper QName handling of variable and function names.
Support absolute path expressions (starting with
Working general implementation of
Handle the remaining XPath axes, such as parent and also all the optional axes (ancestor, following-sibling etc). (Because of the above changes, you may see a performance regression, as I concentrated on correctness and generality. I'll be gradually adding optimizations when I can.)
Implement 'at' (position) clause of FLWOR statement.
Implement 'some ... satisfies; and 'every ... satisfies'.
Various syntax changes for the August '03 draft:
distinct-nodes and various string functions are implemented.
The '|' or 'union' and 'intersect' and 'except' operators are implemented.
The 'declare xmlspace' declaration is implemented, which should now correctly handle "Boundary whitespace" in element constructors.
Optional function returns are now handled. Some type specifiers would generate bad bytecode; these should now be fixed.
Various XQuery changes, based on the May '03 specification:
define variable' except the
Implemented the new comment syntax.
Supports the new
element(name, *) type-specifier syntax.
Expanded string literal syntax, with references and doubled quotes.
doc as synonym for
Implemented the full 2-operand
document function (now-deprecated, sigh).