net.sf.saxon.functions
Class Document

java.lang.Object
  extended by net.sf.saxon.expr.Expression
      extended by net.sf.saxon.expr.FunctionCall
          extended by net.sf.saxon.functions.SystemFunction
              extended by net.sf.saxon.functions.Document
All Implemented Interfaces:
Serializable, SourceLocator, Container, EvaluableItem, SequenceIterable, XSLTFunction, InstructionInfoProvider

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.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(String href, String baseURI, XPathContext c, 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(String href, String baseURL, XPathContext c, 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
display, getDetails, getErrorCodeForTypeErrors, getItemType, main, makeSystemFunction, optimize, setDetails
 
Methods inherited from class net.sf.saxon.expr.FunctionCall
getArguments, getDisplayName, getFunctionNameCode, getNumberOfArguments, iterateSubExpressions, promote, replaceSubExpression, setArguments, setFunctionNameCode, simplify, typeCheck
 
Methods inherited from class net.sf.saxon.expr.Expression
adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, effectiveBooleanValue, evaluateAsString, evaluateItem, getCardinality, getColumnNumber, getContainingProcedure, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getParentExpression, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasBadParentPointer, markTailFunctionCalls, process, resetStaticProperties, setLocationId, setParentExpression, setParentExpression, suppressValidation
 
Methods inherited from class java.lang.Object
equals, 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 SequenceIterable
Overrides:
iterate in class Expression
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(String href,
                               String baseURI,
                               XPathContext c,
                               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(String href,
                           String baseURL,
                           XPathContext c,
                           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


Copyright (C) Michael H. Kay. All rights reserved.