Building a Source Document from an application
With the Java s9api interface, a source document can be built using the DocumentBuilder
class, which is created using
the factory method newDocumentBuilder
on the Processor
object. Various options for document
building are available as methods on the DocumentBuilder
, for example options to
perform schema or DTD validation, to strip whitespace, to expand XInclude directives, and also
to choose the tree implementation model to be used.
Similarly in the .NET API, there is a DocumentBuilder
object that can be created from
the Processor
. This allows options to
be set controlling the way documents are built, and provides an overloaded Build
method allowing a tree to be built from various kinds of source.
It is also possible to build a Saxon tree in memory by using the buildDocument
method of the Configuration
object.
(When using the JAXP Transformation API, the Configuration
can be obtained from
the TransformerFactory
as the value of the attribute named FeatureKeys.CONFIGURATION
.)
The buildDocument()
method takes a single argument, a JAXP Source
. This can be any of the standard
kinds of JAXP Source
. See JAXP
Sources for more information.
All the documents processed in a single transformation or query must be loaded using the same
Configuration
. However, it is
possible to copy a document from one Configuration
into another by supplying the
DocumentInfo
at the root of the
existing document as the Source
supplied to the buildDocument()
method of the new Configuration.