Command line interfaces

If the filename specified in the -o option is in a directory that does not exist, the directory is now created.

A new option -config:filename is available. This refers to a configuration file in which many configuration options can be specified. Options specified directly on the command line override corresponding options in the configuration file. The format of the configuration file is given in The Saxon configuration file.

Configuration files are not currently supported on .NET

Saxon-defined serialization parameters can now be defined on the command line using a lexical QName, for example !saxon:indent-spaces=3 as an alternative to the Clark-format expanded name.

The command line interface now allows a stylesheet parameter to be supplied as the value of an XPath expression. For example, java net.sf.saxon.Transform -xsl:style.xsl ?p=current-dateTime() sets the stylesheet parameter p to the value of the current date and time (as an instance of xs:dateTime). The fact that the value needs to be evaluated as an XPath expression is signalled by the leading "?" before the parameter name. Note that the context for evaluating the expression includes only the "standard" namespaces, no context item, and no variables.

A new option is available (-dtd:recover on the command line) to perform DTD validation but treat the error as non-fatal if it fails.

A new option -now is available on the command line to set the current date and time (and the implicit timezone). This is designed for testing, to enable repeatable results to be obtained.