Class TraceClause

java.lang.Object
net.sf.saxon.expr.flwor.Clause
net.sf.saxon.expr.flwor.TraceClause

public class TraceClause extends Clause
A "trace" clause in a FLWOR expression, added by a TraceCodeInjector for diagnostic tracing, debugging, profiling or similar purposes.
  • Constructor Details

    • TraceClause

      public TraceClause(Clause target, NamespaceResolver nsResolver, Container container)
      Create a traceClause
      Parameters:
      target - the clause whose evaluation is being traced
      container - the container of the containing FLWORExpression
  • Method Details

    • getNamespaceResolver

      public NamespaceResolver getNamespaceResolver()
      Get the namespace bindings from the static context of the clause
      Returns:
      a namespace resolver that reflects the in scope namespaces of the clause
    • setNamespaceResolver

      public void setNamespaceResolver(NamespaceResolver nsResolver)
      Set the namespace bindings from the static context of the clause
      Parameters:
      nsResolver - a namespace resolver that reflects the in scope namespaces of the clause
    • getClauseKey

      public int getClauseKey()
      Description copied from class: Clause
      Get a keyword identifying what kind of clause this is
      Specified by:
      getClauseKey in class Clause
      Returns:
      the kind of clause
    • copy

      public TraceClause copy()
      Description copied from class: Clause
      Create a copy of this clause
      Specified by:
      copy in class Clause
      Returns:
      the copied clause
    • getPullStream

      public TuplePull getPullStream(TuplePull base, XPathContext context)
      Get a tuple stream that implements the functionality of this clause, taking its input from another tuple stream which this clause modifies
      Specified by:
      getPullStream in class Clause
      Parameters:
      base - the input tuple stream
      context - the dynamic evaluation context
      Returns:
      the output tuple stream
    • getPushStream

      public TuplePush getPushStream(TuplePush destination, XPathContext context)
      Get a push-mode tuple stream that implements the functionality of this clause, supplying its output to another tuple stream
      Specified by:
      getPushStream in class Clause
      Parameters:
      destination - the output tuple stream
      context - the dynamic evaluation context
      Returns:
      the push tuple stream that implements the functionality of this clause of the FLWOR expression
    • processSubExpressions

      public void processSubExpressions(ExpressionProcessor processor) throws XPathException
      Process the subexpressions of this clause
      Specified by:
      processSubExpressions in class Clause
      Parameters:
      processor - the expression processor used to process the subexpressions
      Throws:
      XPathException - if any error is detected
    • explain

      public void explain(ExpressionPresenter out)
      Diagnostic print of expression structure. The abstract expression tree is written to the supplied output destination.
      Specified by:
      explain in class Clause
      Parameters:
      out - the expression presenter used to display the structure
    • toString

      public String toString()
      Overrides:
      toString in class Object