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:

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.