net.sf.saxon.functions

## Class Doc

- java.lang.Object
- - net.sf.saxon.expr.Expression
  - - net.sf.saxon.expr.FunctionCall
    - - net.sf.saxon.functions.SystemFunctionCall
      - - net.sf.saxon.functions.Doc

- All Implemented Interfaces:
    Serializable, SourceLocator, LocationProvider, SaxonLocator, Callable, InstructionInfo, Locator

      public class Doc
      extends SystemFunctionCall
      implements Callable

  Implement the fn:doc() function - a simplified form of the Document function
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class net.sf.saxon.functions.SystemFunctionCall

      `operation`

    - ### Fields inherited from class net.sf.saxon.expr.FunctionCall

      `argument`

    - ### Fields inherited from class net.sf.saxon.expr.Expression

      `EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, INHERITED_CONTEXT, INSPECTION_CONTEXT, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, NAVIGATION_CONTEXT, NODE_VALUE_CONTEXT, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, W3C_CONSUMING, W3C_FREE_RANGING, W3C_GROUP_CONSUMING, W3C_MOTIONLESS, WATCH_METHOD`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Doc()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `PathMap.PathMapNodeSet` | `addToPathMap(PathMap pathMap, PathMap.PathMapNodeSet pathMapNodeSet)` Add a representation of this expression to a PathMap.
    `Sequence` | `call(XPathContext context, Sequence[] arguments)` Evaluate the expression
    `void` | `checkArguments(ExpressionVisitor visitor)` Method called during static type checking
    `int` | `computeCardinality()` Determine the cardinality of the function.
    `int` | `computeSpecialProperties()` Get the static properties of this expression (other than its type).
    `Expression` | `copy()` Copy an expression.
    `boolean` | `equals(Object o)` Determine whether two expressions are equivalent
    `NodeInfo` | `evaluateItem(XPathContext context)` Evaluate the expression
    `ExpressionCompiler` | `getExpressionCompiler()` Return the compiler of the Doc expression
    `String` | `getStaticBaseURI()` Get the static base URI of the expression
    `boolean` | `isReadOnce()` Ask whether this document has been marked as being read once only.
    `Expression` | `preEvaluate(ExpressionVisitor visitor)` preEvaluate: this method suppresses compile-time evaluation unless a configuration option has been set to allow early evaluation.
    `void` | `sendDocument(XPathContext context, Receiver out)` Copy the document identified by this expression to a given Receiver.
    `void` | `setReadOnce(boolean once)` Indicate that the document will be read once only (or that it should be treated as if it is read once only.

    - ### Methods inherited from class net.sf.saxon.functions.SystemFunctionCall

      `addContextDocumentArgument, addDocToPathMap, bindStaticContext, equalOrNull, getContextNode, getConvertingCallable, getDefaultArgumentNode, getDetails, getErrorCodeForTypeErrors, getFunctionItemType, getImplementationMethod, getItemType, getOperation, getRequiredType, iterateSubExpressionInfo, makeSystemFunction, optimize, setDetails, useContextItemAsDefault`

    - ### Methods inherited from class net.sf.saxon.expr.FunctionCall

      `addExternalFunctionCallToPathMap, checkArgumentCount, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString, typeCheck`

    - ### Methods inherited from class net.sf.saxon.expr.Expression

      `adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getIntegerBounds, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getStreamability, getStreamingAdjunct, getSystemId, getSystemId, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, iterateEvents, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, toPattern, toStreamingPattern, typeError`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Doc

          public Doc()

  - ### Method Detail

    - #### setReadOnce

          public void setReadOnce(boolean once)

      Indicate that the document will be read once only (or that it should be treated as if it is read once only. This means (a) the document will not be held in memory after all references to it go out of scope, and (b) if the query or transformation tries to read it again, it will get a new copy, with different node identities, and potentially with different content. It also means that the document is eligible for document projection.
      Parameters:
        `once` - true if this document is to be treated as being read once only

    - #### isReadOnce

          public boolean isReadOnce()

      Ask whether this document has been marked as being read once only.
      Returns:
        true if the document has been marked as being read once only

    - #### checkArguments

          public void checkArguments(ExpressionVisitor visitor)
                              throws XPathException

      Description copied from class: `SystemFunctionCall`
      Method called during static type checking
      Overrides:
        `checkArguments` in class `SystemFunctionCall`
      Parameters:
        `visitor` - the expression visitor
      Throws:
        `XPathException` - if the arguments are incorrect

    - #### getStaticBaseURI

          public String getStaticBaseURI()

      Get the static base URI of the expression
      Returns:
        the static base URI

    - #### preEvaluate

          public Expression preEvaluate(ExpressionVisitor visitor)

      preEvaluate: this method suppresses compile-time evaluation unless a configuration option has been set to allow early evaluation.
      Overrides:
        `preEvaluate` in class `FunctionCall`
      Parameters:
        `visitor` - an expression visitor
      Returns:
        the result of the early evaluation, or the original expression, or potentially a simplified expression

    - #### computeCardinality

          public int computeCardinality()

      Description copied from class: `SystemFunctionCall`
      Determine the cardinality of the function.
      Overrides:
        `computeCardinality` in class `SystemFunctionCall`
      Returns:
        the computed cardinality, as one of the values `StaticProperty.ALLOWS_ZERO_OR_ONE`, `StaticProperty.EXACTLY_ONE`, `StaticProperty.ALLOWS_ONE_OR_MORE`, `StaticProperty.ALLOWS_ZERO_OR_MORE`

    - #### addToPathMap

          public PathMap.PathMapNodeSet addToPathMap(PathMap pathMap,
                                            PathMap.PathMapNodeSet pathMapNodeSet)

      Add a representation of this expression to a PathMap. The PathMap captures a map of the nodes visited by an expression in a source tree.
      Overrides:
        `addToPathMap` in class `Expression`
      Parameters:
        `pathMap` - the PathMap to which the expression should be added
        `pathMapNodeSet` -
      Returns:
        the pathMapNode representing the focus established by this expression, in the case where this expression is the first operand of a path expression or filter expression

    - #### copy

          public Expression copy()

      Copy an expression. This makes a deep copy.
      Overrides:
        `copy` in class `SystemFunctionCall`
      Returns:
        the copy of the original expression

    - #### equals

          public boolean equals(Object o)

      Determine whether two expressions are equivalent
      Overrides:
        `equals` in class `SystemFunctionCall`

    - #### evaluateItem

          public NodeInfo evaluateItem(XPathContext context)
                                throws XPathException

      Evaluate the expression
      Overrides:
        `evaluateItem` in class `Expression`
      Parameters:
        `context` - the dynamic evaluation context
      Returns:
        the result of evaluating the expression (a document node)
      Throws:
        `XPathException`

    - #### call

          public Sequence call(XPathContext context,
                      Sequence[] arguments)
                        throws XPathException

      Evaluate the expression
      Specified by:
        `call` in interface `Callable`
      Parameters:
        `context` - the dynamic evaluation context
        `arguments` - the values of the arguments, supplied as SequenceIterators
      Returns:
        the result of the evaluation, in the form of a SequenceIterator
      Throws:
        `XPathException` - if a dynamic error occurs during the evaluation of the expression

    - #### computeSpecialProperties

          public int computeSpecialProperties()

      Get the static properties of this expression (other than its type). The result is bit-signficant. These properties are used for optimizations. In general, if property bit is set, it is true, but if it is unset, the value is unknown.
      Overrides:
        `computeSpecialProperties` in class `SystemFunctionCall`
      Returns:
        the special properties, as a bit-significant integer

    - #### sendDocument

          public void sendDocument(XPathContext context,
                          Receiver out)
                            throws XPathException

      Copy the document identified by this expression to a given Receiver. This method is used only when it is known that the document is being copied, because there is then no problem about node identity.
      Parameters:
        `context` - the XPath dynamic context
        `out` - the destination to which the document will be sent
      Throws:
        `XPathException`

    - #### getExpressionCompiler

          public ExpressionCompiler getExpressionCompiler()

      Return the compiler of the Doc expression
      Overrides:
        `getExpressionCompiler` in class `Expression`
      Returns:
        the relevant ExpressionCompiler

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.