## net.sf.saxon.functions
Class Doc

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

All Implemented Interfaces:
  Serializable, SourceLocator, LocationProvider, SaxonLocator, EvaluableItem, SequenceIterable, InstructionInfo, Locator

    public class Doc

extends SystemFunction

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.SystemFunction
`operation`

Fields inherited from class net.sf.saxon.expr.FunctionCall
`argument`

Fields inherited from class net.sf.saxon.expr.Expression
`EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, PROCESS_METHOD, PUSH_SELECTION, staticProperties, WATCH_METHOD`

Constructor Summary
`Doc()`

Method Summary
`PathMap.PathMapNodeSet` `addToPathMap(PathMap pathMap, PathMap.PathMapNodeSet pathMapNodeSet)` Add a representation of this expression to a PathMap.
`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.
`Item` `evaluateItem(XPathContext context)` Evaluate the 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.SystemFunction
`addContextDocumentArgument, addDocToPathMap, getDetails, getErrorCodeForTypeErrors, getImplementationMethod, getItemType, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault`

Methods inherited from class net.sf.saxon.expr.FunctionCall
`addExternalFunctionCallToPathMap, checkArgumentCount, equals, 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, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, 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: `SystemFunction`
  Method called during static type checking

  Overrides:
    `checkArguments` in class `SystemFunction`
  Parameters:
    `visitor` - the expression visitor
  Throws:
    `XPathException`

### 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: `SystemFunction`
  Determine the cardinality of the function.

  Overrides:
    `computeCardinality` in class `SystemFunction`
  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 `SystemFunction`
  Returns:
    the copy of the original expression

### evaluateItem

    public Item evaluateItem(XPathContext context)
                      throws XPathException

  Evaluate the expression

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

### 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 `SystemFunction`
  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`

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