net.sf.saxon.functions

Class Doc

Implemented Interfaces:
EvaluableItem, InstructionInfoProvider, SequenceIterable, Serializable, SourceLocator

public class Doc
extends SystemFunction

Implement the fn:doc() function - a simplified form of the Document function

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, ITERATE_METHOD, PROCESS_METHOD, locationId, staticProperties

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
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.

Methods inherited from class net.sf.saxon.functions.SystemFunction

addContextDocumentArgument, addDocToPathMap, checkArguments, computeCardinality, computeSpecialProperties, copy, getDetails, getErrorCodeForTypeErrors, getItemType, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault

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

addExternalFunctionCallToPathMap, checkArgumentCount, checkArguments, equals, explain, getArguments, getDisplayName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, optimize, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString, typeCheck

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

addToPathMap, adoptChildExpression, checkPermittedContents, computeCardinality, computeDependencies, computeSpecialProperties, computeStaticProperties, copy, display, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, explain, explain, findParentOf, getCardinality, getColumnNumber, getConstructType, getContainer, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getItemType, getLineNumber, getLocationId, getLocationProvider, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, iterate, iterateEvents, iterateSubExpressions, markTailFunctionCalls, optimize, process, promote, replaceSubExpression, resetLocalStaticProperties, setContainer, setFiltered, setFlattened, setLocationId, simplify, staticTypeCheck, suppressValidation, toString, typeCheck, typeError

Method Details

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 interface 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

checkArguments

public void checkArguments(ExpressionVisitor visitor)
            throws XPathException
Method called during static type checking
Overrides:
checkArguments in interface SystemFunction

computeCardinality

public int computeCardinality()
Determine the cardinality of the function.
Overrides:
computeCardinality in interface SystemFunction

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 interface SystemFunction

copy

public Expression copy()
Copy an expression. This makes a deep copy.
Overrides:
copy in interface 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 interface Expression
Parameters:
context - the dynamic evaluation context
Returns:
the result of evaluating the expression (a document node)
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 interface FunctionCall
Parameters:
visitor - an expression visitor

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