## net.sf.saxon.style
Class XSLResultDocument

    java.lang.Object
      net.sf.saxon.tree.NodeImpl
          net.sf.saxon.tree.ParentNodeImpl
              net.sf.saxon.tree.ElementImpl
                  net.sf.saxon.tree.ElementWithAttributes
                      net.sf.saxon.style.StyleElement
                          net.sf.saxon.style.XSLResultDocument

All Implemented Interfaces:
  Container, FingerprintedNode, InstructionInfo, Item, LocationProvider, org.xml.sax.Locator, NodeInfo, SaxonLocator, javax.xml.transform.Source, javax.xml.transform.SourceLocator, ValueRepresentation

public class XSLResultDocument
extends StyleElement

An xsl:result-document (formerly saxon:output) element in the stylesheet.
The xsl:result-document element takes an attribute href="filename". The filename will often contain parameters, e.g. {position()} to ensure that a different file is produced for each element instance.
There is a further attribute "name" which determines the format of the output file, it identifies the name of an xsl:output element containing the output format details.

Field Summary

Fields inherited from class net.sf.saxon.style.StyleElement
`defaultCollationName, defaultXPathNamespace, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, version`

Fields inherited from class net.sf.saxon.tree.ElementWithAttributes
`attributeList, namespaceList`

Fields inherited from class net.sf.saxon.tree.ElementImpl
`nameCode, root, sequence`

Fields inherited from class net.sf.saxon.tree.NodeImpl
`index, NODE_LETTER, parent`

Fields inherited from interface net.sf.saxon.om.NodeInfo
`ALL_NAMESPACES, EMPTY_NAMESPACE_LIST, LOCAL_NAMESPACES, NO_NAMESPACES`

Constructor Summary
`XSLResultDocument()`

Method Summary
`Expression` `compile(Executable exec)` Compile the instruction on the stylesheet tree into an executable instruction for use at run-time.
`protected ItemType` `getReturnedItemType()` Determine the type of item returned by this instruction (only relevant if it is an instruction).
`boolean` `isInstruction()` Determine whether this node is an instruction.
`boolean` `mayContainSequenceConstructor()` Determine whether this type of element is allowed to contain a template-body
`void` `prepareAttributes()` Set the attribute list for the element.
`void` `validate()` Check that the stylesheet element is valid.

Methods inherited from class net.sf.saxon.style.StyleElement

`allocateLocationId, allocateSlots, backwardsCompatibleModeIsEnabled, bindVariable, checkEmpty, checkSortComesFirst, checkTopLevel, checkUnknownAttribute, checkWithinTemplate, compileError, compileError, compileError, compileSequenceConstructor, compileWarning, definesExcludedNamespace, definesExtensionElement, fallbackProcessing, fixupReferences, forwardsCompatibleModeIsEnabled, getAttributeSets, getAttributeValue, getCommonChildItemType, getConstructType, getContainingSlotManager, getContainingStylesheet, getDefaultCollationName, getDefaultXPathNamespace, getExecutable, getInstructionFingerprint, getLastChildInstruction, getLineNumber, getLineNumber, getNamespaceResolver, getObjectFingerprint, getObjectNameCode, getPrecedence, getPreparedStylesheet, getPrincipalStylesheet, getProperties, getProperty, getSchemaType, getStaticContext, getStylesheetFunction, getSystemId, getTargetNamePool, getTypeAnnotation, getVersion, getWithParamInstructions, isExcludedNamespace, isExtensionNamespace, isPermittedChild, issueWarning, issueWarning, isTopLevel, makeAttributeValueTemplate, makeExpression, makeNameCode, makeNamespaceContext, makePattern, makeSequenceType, makeSortKeys, makeTraceInstruction, markTailCalls, mayContainFallback, postValidate, processAllAttributes, processAttributes, processDefaultCollationAttribute, processDefaultXPathNamespaceAttribute, processExcludedNamespaces, processExtensionElementAttribute, processVersionAttribute, reportAbsence, setLineNumber, setObjectNameCode, setValidationError, substituteFor, typeCheck, typeCheck, undeclaredNamespaceError, validateChildren, validateSubtree`

Methods inherited from class net.sf.saxon.tree.ElementWithAttributes
`copy, getAttributeList, getAttributeValue, getDeclaredNamespaces, getInScopeNamespaceCodes, getPrefixForURI, getURICodeForPrefix, getURIForPrefix, initialise, iteratePrefixes, sendNamespaceDeclarations, setNamespaceDeclarations`

Methods inherited from class net.sf.saxon.tree.ElementImpl
`addChild, compact, enumerateChildren, generateId, getBaseURI, getDocumentRoot, getFirstChild, getLastChild, getNameCode, getNodeKind, getNthChild, getRoot, getSequenceNumber, getStringValue, getStringValueCS, getSystemId, hasChildNodes, setNameCode, setSystemId, useChildrenArray`

Methods inherited from class net.sf.saxon.tree.NodeImpl
`compareOrder, getColumnNumber, getConfiguration, getDisplayName, getDocumentNumber, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getTypeAnnotation, getTypedValue, getURI, isSameNodeInfo, iterateAxis, iterateAxis`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.xml.sax.Locator
`getColumnNumber, getPublicId, getSystemId`

Methods inherited from interface javax.xml.transform.SourceLocator
`getColumnNumber, getPublicId, getSystemId`

Methods inherited from interface net.sf.saxon.trace.InstructionInfo
`getSystemId`

Constructor Detail

### XSLResultDocument

    public XSLResultDocument()

Method Detail

### isInstruction

    public boolean isInstruction()

  Determine whether this node is an instruction.

  Overrides:
    `isInstruction` in class `StyleElement`
  Returns:
    true - it is an instruction

### mayContainSequenceConstructor

    public boolean mayContainSequenceConstructor()

  Determine whether this type of element is allowed to contain a template-body

  Overrides:
    `mayContainSequenceConstructor` in class `StyleElement`
  Returns:
    true: yes, it may contain a template-body

### getReturnedItemType

    protected ItemType getReturnedItemType()

  Determine the type of item returned by this instruction (only relevant if it is an instruction). Default implementation returns Type.ITEM, indicating that we don't know, it might be anything. Returns null in the case of an element such as xsl:sort or xsl:variable that can appear in a sequence constructor but contributes nothing to the result sequence.

  Overrides:
    `getReturnedItemType` in class `StyleElement`
  Returns:
    the item type returned

### prepareAttributes

    public void prepareAttributes()
                           throws javax.xml.transform.TransformerConfigurationException

  Description copied from class: `StyleElement`
  Set the attribute list for the element. This is called to process the attributes (note the distinction from processAttributes in the superclass). Must be supplied in a subclass

  Specified by:
    `prepareAttributes` in class `StyleElement`
  Throws:
    `javax.xml.transform.TransformerConfigurationException`

### validate

    public void validate()
                  throws javax.xml.transform.TransformerConfigurationException

  Description copied from class: `StyleElement`
  Check that the stylesheet element is valid. This is called once for each element, after the entire tree has been built. As well as validation, it can perform first-time initialisation. The default implementation does nothing; it is normally overriden in subclasses.

  Overrides:
    `validate` in class `StyleElement`
  Throws:
    `javax.xml.transform.TransformerConfigurationException`

### compile

    public Expression compile(Executable exec)
                       throws javax.xml.transform.TransformerConfigurationException

  Description copied from class: `StyleElement`
  Compile the instruction on the stylesheet tree into an executable instruction for use at run-time.

  Specified by:
    `compile` in class `StyleElement`
  Returns:
    either a ComputedExpression, or null. The value null is returned when compiling an instruction that returns a no-op, or when compiling a top-level object such as an xsl:template that compiles into something other than an instruction.
  Throws:
    `javax.xml.transform.TransformerConfigurationException`