net.sf.saxon.functions
Class Document

java.lang.Object
  extended bynet.sf.saxon.expr.ComputedExpression
      extended bynet.sf.saxon.expr.FunctionCall
          extended bynet.sf.saxon.functions.SystemFunction
              extended bynet.sf.saxon.functions.Document
All Implemented Interfaces:
Container, Expression, InstructionInfoProvider, java.io.Serializable, javax.xml.transform.SourceLocator, XSLTFunction

public class Document
extends SystemFunction
implements XSLTFunction

Implements the XSLT 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.ComputedExpression
locationId, staticProperties
 
Fields inherited from interface net.sf.saxon.expr.Expression
EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD
 
Constructor Summary
Document()
           
 
Method Summary
 void checkArguments(StaticContext env)
          Method called during static type checking
 int computeCardinality()
          Determine the static cardinality
 int computeSpecialProperties()
          Get the static properties of this expression (other than its type).
 SequenceIterator iterate(XPathContext context)
          iterate() handles evaluation of the function: it returns a sequence of Document nodes
static NodeInfo makeDoc(java.lang.String href, java.lang.String baseURL, XPathContext c, javax.xml.transform.SourceLocator locator)
          Supporting routine to load one external document given a URI (href) and a baseURI
 Expression preEvaluate(StaticContext env)
          preEvaluate: this method suppresses compile-time evaluation by doing nothing
static void sendDoc(java.lang.String href, java.lang.String baseURL, XPathContext c, javax.xml.transform.SourceLocator locator, Receiver out)
          Supporting routine to push one external document given a URI (href) and a baseURI to a given Receiver.
 void sendDocuments(XPathContext context, Receiver out)
          Copy the documents identified by this expression to a given Receiver.
 
Methods inherited from class net.sf.saxon.functions.SystemFunction
addContextDocumentArgument, display, getDetails, getErrorCodeForTypeErrors, getItemType, getRequiredType, main, makeSystemFunction, setDetails, useContextItemAsDefault
 
Methods inherited from class net.sf.saxon.expr.FunctionCall
checkArgumentCount, getDisplayName, getFunctionNameCode, getNumberOfArguments, iterateSubExpressions, optimize, promote, setArguments, setFunctionNameCode, simplify, simplifyArguments, typeCheck
 
Methods inherited from class net.sf.saxon.expr.ComputedExpression
adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, getCardinality, getColumnNumber, getConstructType, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getParentExpression, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasBadParentPointer, markTailFunctionCalls, process, resetStaticProperties, setLocationId, setParentExpression, suppressValidation, typeError, typeError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Document

public Document()
Method Detail

checkArguments

public void checkArguments(StaticContext env)
                    throws XPathException
Description copied from class: SystemFunction
Method called during static type checking

Overrides:
checkArguments in class SystemFunction
Throws:
XPathException

computeCardinality

public int computeCardinality()
Determine the static cardinality

Overrides:
computeCardinality in class 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 class SystemFunction

preEvaluate

public Expression preEvaluate(StaticContext env)
preEvaluate: this method suppresses compile-time evaluation by doing nothing

Overrides:
preEvaluate in class FunctionCall

iterate

public SequenceIterator iterate(XPathContext context)
                         throws XPathException
iterate() handles evaluation of the function: it returns a sequence of Document nodes

Specified by:
iterate in interface Expression
Overrides:
iterate in class ComputedExpression
Parameters:
context - supplies the context for evaluation
Returns:
a SequenceIterator that can be used to iterate over the result of the expression
Throws:
XPathException - if any dynamic error occurs evaluating the expression

makeDoc

public static NodeInfo makeDoc(java.lang.String href,
                               java.lang.String baseURL,
                               XPathContext c,
                               javax.xml.transform.SourceLocator locator)
                        throws XPathException
Supporting routine to load one external document given a URI (href) and a baseURI

Throws:
XPathException

sendDocuments

public void sendDocuments(XPathContext context,
                          Receiver out)
                   throws XPathException
Copy the documents identified by this expression to a given Receiver. This method is used only when it is known that the documents are being copied, because there is then no problem about node identity.

Throws:
XPathException

sendDoc

public static void sendDoc(java.lang.String href,
                           java.lang.String baseURL,
                           XPathContext c,
                           javax.xml.transform.SourceLocator locator,
                           Receiver out)
                    throws XPathException
Supporting routine to push one external document given a URI (href) and a baseURI to a given Receiver. This method cannot handle fragment identifiers

Throws:
XPathException