net.sf.saxon.expr.instruct
Class NextMatch

java.lang.Object
  extended by net.sf.saxon.expr.Expression
      extended by net.sf.saxon.expr.instruct.Instruction
          extended by net.sf.saxon.expr.instruct.ApplyImports
              extended by net.sf.saxon.expr.instruct.NextMatch
All Implemented Interfaces:
Serializable, SourceLocator, LocationProvider, SaxonLocator, ITemplateCall, TailCallReturner, InstructionInfo, Locator

public class NextMatch
extends ApplyImports

An xsl:next-match element in the stylesheet

See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.sf.saxon.expr.Expression
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, WATCH_METHOD
 
Constructor Summary
NextMatch(boolean useTailRecursion)
           
 
Method Summary
 Expression copy()
          Copy an expression.
 void explain(ExpressionPresenter out)
          Diagnostic print of expression structure.
 int getInstructionNameCode()
          Get the name of this instruction for diagnostic and tracing purposes
 TailCall processLeavingTail(XPathContext context)
          ProcessLeavingTail: called to do the real work of this instruction.
 
Methods inherited from class net.sf.saxon.expr.instruct.ApplyImports
addToPathMap, createsNewNodes, getActualParams, getImplementationMethod, getIntrinsicDependencies, getTunnelParams, isAllowAnyItem, iterateSubExpressions, optimize, promoteInst, replaceSubExpression, setActualParameters, simplify, typeCheck
 
Methods inherited from class net.sf.saxon.expr.instruct.Instruction
assembleParams, assembleTunnelParams, computeCardinality, computeSpecialProperties, dynamicError, evaluateAsString, evaluateItem, getConstructType, getExpressionName, getInstructionName, getItemType, getIteratorFromProcessMethod, getSourceLocator, isXSLT, iterate, process, promote
 
Methods inherited from class net.sf.saxon.expr.Expression
adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getIntegerBounds, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, toString, typeError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.xml.transform.SourceLocator
getColumnNumber, getLineNumber, getPublicId, getSystemId
 

Constructor Detail

NextMatch

public NextMatch(boolean useTailRecursion)
Method Detail

getInstructionNameCode

public int getInstructionNameCode()
Get the name of this instruction for diagnostic and tracing purposes

Overrides:
getInstructionNameCode in class ApplyImports
Returns:
a code identifying the instruction: typically but not always the fingerprint of a name in the XSLT namespace

copy

public Expression copy()
Copy an expression. This makes a deep copy.

Overrides:
copy in class ApplyImports
Returns:
the copy of the original expression

processLeavingTail

public TailCall processLeavingTail(XPathContext context)
                            throws XPathException
Description copied from class: Instruction
ProcessLeavingTail: called to do the real work of this instruction. This method must be implemented in each subclass. The results of the instruction are written to the current Receiver, which can be obtained via the Controller.

Specified by:
processLeavingTail in interface TailCallReturner
Overrides:
processLeavingTail in class ApplyImports
Parameters:
context - The dynamic context of the transformation, giving access to the current node, the current variables, etc.
Returns:
null if the instruction has completed execution; or a TailCall indicating a function call or template call that is delegated to the caller, to be made after the stack has been unwound so as to save stack space.
Throws:
XPathException - if a dynamic error occurs during the evaluation of the instruction

explain

public void explain(ExpressionPresenter out)
Diagnostic print of expression structure. The abstract expression tree is written to the supplied output destination.

Overrides:
explain in class ApplyImports
Parameters:
out - the expression presenter used to display the structure


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