Source Documents on the Command Line

When Saxon (either XSLT or XQuery) is invoked from the command line, the source document will normally be an XML 1.0 document. Supplying an XML 1.1 document will also work, provided that (a) the selected parser is an XML 1.1 parser, and (b) the command line option -xmlversion:1.1 is set.

If a custom parser is specified using the -x option on the command line, then the source document can be in any format accepted by this custom parser. The only constraint is that the parser must behave as a SAX2 parser, delivering a stream of events that define a virtual XML document. For example, the TagSoup parser from John Cowan can be used to feed an HTML document as input to Saxon.

Non-standard input formats can also be handled by specifying a user-written URIResolver. If the -u option is used on the command line, or if the source file name begins with http: or https: or file: or classpath:, then the source file name is resolved to a JAXP Source object using the URIResolver; if a user-written URIResolver is nominated (using the -r option) then this may translate the file name into a Source object any way that it wishes.