public class StandardResultDocumentResolver extends java.lang.Object implements ResultDocumentResolver
|Constructor and Description|
|Modifier and Type||Method and Description|
Signal completion of the result document.
Get a singular instance
Create an output file (unless it already exists) and return a reference to it as a Result object
Resolve an output URI
Saxon calls this method when an
public static StandardResultDocumentResolver getInstance()
public Receiver resolve(XPathContext context, java.lang.String href, java.lang.String baseUri, SerializationProperties properties) throws XPathException
xsl:result-documentinstruction with an
hrefattribute is evaluated.
Note: it may be appropriate for the method to obtain a suitable
Receiver by calling one of the static factory methods on the
SerializerFactory class. A
SerializerFactory can be
obtained by calling
context- the dynamic evaluation context
href- the effective value of the
xsl:result-documentinstruction. This will be a zero-length string if the attribute is omitted.
baseUri- the base output URI of the transformation (typically, the destination of the principal output destination). This may be null if no base output URI is known. The recommended action if it is null is to use the
hrefvalue alone if it is absolute URI, otherwise to raise an error (
SaxonErrorCode.SXRD0002, since there is no W3C-defined code for the condition).
properties- the serialization properties defined explicitly or implicitly on the
xsl:result-documentinstruction, together with information about character maps in the stylesheet that might be referenced. Serialization parameters can be ignored if the result document is not being serialized. However, if the serialization parameters include a validation factory, then this must not be ignored: a validator must be inserted at a suitable point in the output pipeline.
Receiverclass, which Saxon will then call to open the output document, and subsequently to close it. This
Receiverwill receive a sequence of events representing the raw result of the
xsl:result-documentinstruction, as a regular event sequence conforming to the rules defined in
The implementation should set the
systemId property of the returned
Receiver to the result of resolving the supplied
href against the
baseUri. On return from this method, Saxon will check that
systemId is non-null and that it satisfies the uniqueness conditions
imposed by the XSLT specification. Specifically, it is not permitted for two
xsl:result-document to use the same URI, and this URI must not
be read in a call on
document(), either before or after
XPathException- if a result document cannot be opened
public javax.xml.transform.stream.StreamResult resolve(java.lang.String href, java.lang.String base) throws XPathException
href- The relative URI of the output document. This corresponds to the href attribute of the xsl:result-document instruction.
base- The base URI that should be used. This is the base output URI, normally the URI of the principal output file.
protected javax.xml.transform.stream.StreamResult createResult(java.net.URI absoluteURI) throws XPathException, java.io.IOException
public static javax.xml.transform.stream.StreamResult makeOutputFile(java.net.URI absoluteURI) throws XPathException
absoluteURI- the URI of the output file (which should typically use the "file" scheme)
XPathException- if the URI is not writable
public void close(javax.xml.transform.Result result) throws XPathException
Copyright (c) 2004-2021 Saxonica Limited. All rights reserved.