Building the Source Document

The first thing the application must do is to build the source document, in the form of a tree. The simplest approach is to use the sequence:

    String systemId = new File(sourceFile).toURL().toString();
    DocumentInfo doc = new XPathEvaluator().buildDocument(
                         new SAXSource(new InputSource(systemId)));

You can define the parser to be used by supplying a parser within the SAXSource object. If you don't supply a parser, Saxon will select one using the JAXP mechanisms, specifically, the system property javax.xml.parsers.DocumentBuilderFactory.

If you want to use different parsers depending on the URI of the document being read, you can achieve this by writing a URIResolver that nominates the parser to be used for each input file.

For more information about the different ways of loading source documents, see Handling Source Documents.