Command line interfaces
The -opt
flag on the Transform
and Query
command line has been reorganized. Integer values 0 (no optimization)
and 10 (full optimization) are still recognized for compatibility, but the flag now allows individual optimizations to be enabled or
disabled selectively. There is a set of single-letter flags identifying particular optimizations (c: generate bytecode; f: inline functions;
g: extract global variables; j: just-in-time compilation (of XSLT template rules); k: create keys; l: loop lifting; m: miscellaneous; s: extract common subexpressions; v: inline variables;
w: create switch statements; x: index predicates). A value such as -opt:gs
runs with only the selected
optimizations; while -opt:-gs
runs with the selected optimizations disabled and all others enabled.
The -xsl
option on the Transform command line is restored to its pre-9.7 setting where it contains a single filename, being the
top level module of the stylesheet. If additional library packages are used, these may be specified either in a configuration file (preferred),
or listed in the new -lib
option, whose value is a list of filenames separated by ";" on Windows or ":" on Linux/Mac. Each filename
may be either the top-level module of a source XSLT package, or a SEF file produced by exporting a library package.
The Transform and Query commands have new options related to tracing: -Tout:filename
specifies the destination for -T trace output;
while -Tlevel:(none|low|normal|high)
controls the level of detail in the output:
- none: no output
- low: traces entry and exit to user-defined functions and templates
- normal: traces "instructions" (in the XSLT sense, or in XQuery, expressions at a similar level of granularity)
- high: traces "expressions" (not fully implemented)
The same functionality is available via API and configuration options.
The -relocate
command line option for Transform
is added, to produce an export package
which can be deployed to a different location, with a different base URI.