Sophie

Sophie

distrib > Mageia > 7 > i586 > by-pkgid > b3bdfe6d859a3d6920ff2c44b38e9a6f > files > 1887

saxon-manual-9.4.0.9-2.mga7.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Dec 09 20:48:10 GMT 2011 -->
<TITLE>
CallTemplate
</TITLE>

<META NAME="date" CONTENT="2011-12-09">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="CallTemplate";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../net/sf/saxon/expr/instruct/BlockIterator.html" title="class in net.sf.saxon.expr.instruct"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.CallTemplatePackage.html" title="class in net.sf.saxon.expr.instruct"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?net/sf/saxon/expr/instruct/CallTemplate.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="CallTemplate.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_net.sf.saxon.expr.Expression">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
net.sf.saxon.expr.instruct</FONT>
<BR>
Class CallTemplate</H2>
<PRE>
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">net.sf.saxon.expr.Expression</A>
      <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html" title="class in net.sf.saxon.expr.instruct">net.sf.saxon.expr.instruct.Instruction</A>
          <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>net.sf.saxon.expr.instruct.CallTemplate</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://download.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/javax/xml/transform/SourceLocator.html?is-external=true" title="class or interface in javax.xml.transform">SourceLocator</A>, <A HREF="../../../../../net/sf/saxon/event/LocationProvider.html" title="interface in net.sf.saxon.event">LocationProvider</A>, <A HREF="../../../../../net/sf/saxon/event/SaxonLocator.html" title="interface in net.sf.saxon.event">SaxonLocator</A>, <A HREF="../../../../../net/sf/saxon/expr/instruct/ITemplateCall.html" title="interface in net.sf.saxon.expr.instruct">ITemplateCall</A>, <A HREF="../../../../../net/sf/saxon/expr/instruct/TailCallReturner.html" title="interface in net.sf.saxon.expr.instruct">TailCallReturner</A>, <A HREF="../../../../../net/sf/saxon/trace/InstructionInfo.html" title="interface in net.sf.saxon.trace">InstructionInfo</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/org/xml/sax/Locator.html?is-external=true" title="class or interface in org.xml.sax">Locator</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>CallTemplate</B><DT>extends <A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html" title="class in net.sf.saxon.expr.instruct">Instruction</A><DT>implements <A HREF="../../../../../net/sf/saxon/expr/instruct/ITemplateCall.html" title="interface in net.sf.saxon.expr.instruct">ITemplateCall</A></DL>
</PRE>

<P>
Instruction representing an xsl:call-template element in the stylesheet.
<P>

<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#net.sf.saxon.expr.instruct.CallTemplate">Serialized Form</A></DL>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->

<A NAME="nested_class_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.CallTemplatePackage.html" title="class in net.sf.saxon.expr.instruct">CallTemplate.CallTemplatePackage</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A CallTemplatePackage is an object that encapsulates the name of a template to be called,
 the parameters to be supplied, and the execution context.</TD>
</TR>
</TABLE>
&nbsp;<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_net.sf.saxon.expr.Expression"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class net.sf.saxon.expr.<A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html#EFFECTIVE_BOOLEAN_VALUE">EFFECTIVE_BOOLEAN_VALUE</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#EVALUATE_METHOD">EVALUATE_METHOD</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#EVENT_FEED_METHOD">EVENT_FEED_METHOD</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#ITEM_FEED_METHOD">ITEM_FEED_METHOD</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#ITERATE_METHOD">ITERATE_METHOD</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#locationId">locationId</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#MAX_SEQUENCE_LENGTH">MAX_SEQUENCE_LENGTH</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#MAX_STRING_LENGTH">MAX_STRING_LENGTH</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#PROCESS_METHOD">PROCESS_METHOD</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#PUSH_SELECTION">PUSH_SELECTION</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#staticProperties">staticProperties</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#UNBOUNDED_LOWER">UNBOUNDED_LOWER</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#UNBOUNDED_UPPER">UNBOUNDED_UPPER</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#WATCH_METHOD">WATCH_METHOD</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#CallTemplate(net.sf.saxon.expr.instruct.Template, boolean, net.sf.saxon.expr.Expression, net.sf.saxon.om.NamespaceResolver)">CallTemplate</A></B>(<A HREF="../../../../../net/sf/saxon/expr/instruct/Template.html" title="class in net.sf.saxon.expr.instruct">Template</A>&nbsp;template,
             boolean&nbsp;useTailRecursion,
             <A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;calledTemplateExpression,
             <A HREF="../../../../../net/sf/saxon/om/NamespaceResolver.html" title="interface in net.sf.saxon.om">NamespaceResolver</A>&nbsp;nsContext)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a CallTemplate instruction.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#computeCardinality()">computeCardinality</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the cardinality of the sequence returned by evaluating this instruction</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#copy()">copy</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copy an expression.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#createsNewNodes()">createsNewNodes</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine whether this instruction creates new nodes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#explain(net.sf.saxon.trace.ExpressionPresenter)">explain</A></B>(<A HREF="../../../../../net/sf/saxon/trace/ExpressionPresenter.html" title="class in net.sf.saxon.trace">ExpressionPresenter</A>&nbsp;out)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Diagnostic print of expression structure.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/instruct/WithParam.html" title="class in net.sf.saxon.expr.instruct">WithParam</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#getActualParams()">getActualParams</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the actual parameters passed to the called template</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#getCalledTemplateExpression()">getCalledTemplateExpression</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#getInstructionNameCode()">getInstructionNameCode</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the name of this instruction.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#getIntrinsicDependencies()">getIntrinsicDependencies</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine the intrinsic dependencies of an expression, that is, those which are not derived
 from the dependencies of its subexpressions.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/type/ItemType.html" title="interface in net.sf.saxon.type">ItemType</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#getItemType(net.sf.saxon.type.TypeHierarchy)">getItemType</A></B>(<A HREF="../../../../../net/sf/saxon/type/TypeHierarchy.html" title="class in net.sf.saxon.type">TypeHierarchy</A>&nbsp;th)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the item type of the items returned by evaluating this instruction</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/om/NamespaceResolver.html" title="interface in net.sf.saxon.om">NamespaceResolver</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#getNsContext()">getNsContext</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/om/StructuredQName.html" title="class in net.sf.saxon.om">StructuredQName</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#getObjectName()">getObjectName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a name identifying the object of the expression, for example a function name, template name,
 variable name, key name, element name, etc.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/instruct/Template.html" title="class in net.sf.saxon.expr.instruct">Template</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#getTargetTemplate()">getTargetTemplate</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the target template, if known statically</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/instruct/Template.html" title="class in net.sf.saxon.expr.instruct">Template</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#getTargetTemplate(net.sf.saxon.expr.XPathContext)">getTargetTemplate</A></B>(<A HREF="../../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A>&nbsp;context)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the template, in the case where it is specified dynamically.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/instruct/WithParam.html" title="class in net.sf.saxon.expr.instruct">WithParam</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#getTunnelParams()">getTunnelParams</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the tunnel parameters passed to the called template</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</A>&lt;<A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#iterateSubExpressions()">iterateSubExpressions</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get all the XPath expressions associated with this instruction
 (in XSLT terms, the expression present on attributes of the instruction,
 as distinct from the child instructions in a sequence construction)</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#optimize(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)">optimize</A></B>(<A HREF="../../../../../net/sf/saxon/expr/parser/ExpressionVisitor.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor</A>&nbsp;visitor,
         <A HREF="../../../../../net/sf/saxon/expr/parser/ExpressionVisitor.ContextItemType.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor.ContextItemType</A>&nbsp;contextItemType)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform optimisation of an expression and its subexpressions.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#process(net.sf.saxon.expr.XPathContext)">process</A></B>(<A HREF="../../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A>&nbsp;context)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process this instruction, without leaving any tail calls.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/instruct/TailCall.html" title="interface in net.sf.saxon.expr.instruct">TailCall</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#processLeavingTail(net.sf.saxon.expr.XPathContext)">processLeavingTail</A></B>(<A HREF="../../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A>&nbsp;context)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process this instruction.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#promoteInst(net.sf.saxon.expr.parser.PromotionOffer)">promoteInst</A></B>(<A HREF="../../../../../net/sf/saxon/expr/parser/PromotionOffer.html" title="class in net.sf.saxon.expr.parser">PromotionOffer</A>&nbsp;offer)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Handle promotion offers, that is, non-local tree rewrites.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#replaceSubExpression(net.sf.saxon.expr.Expression, net.sf.saxon.expr.Expression)">replaceSubExpression</A></B>(<A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;original,
                     <A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;replacement)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replace one subexpression by a replacement subexpression</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#setActualParameters(net.sf.saxon.expr.instruct.WithParam[], net.sf.saxon.expr.instruct.WithParam[])">setActualParameters</A></B>(<A HREF="../../../../../net/sf/saxon/expr/instruct/WithParam.html" title="class in net.sf.saxon.expr.instruct">WithParam</A>[]&nbsp;actualParams,
                    <A HREF="../../../../../net/sf/saxon/expr/instruct/WithParam.html" title="class in net.sf.saxon.expr.instruct">WithParam</A>[]&nbsp;tunnelParams)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the actual parameters on the call</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#simplify(net.sf.saxon.expr.parser.ExpressionVisitor)">simplify</A></B>(<A HREF="../../../../../net/sf/saxon/expr/parser/ExpressionVisitor.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor</A>&nbsp;visitor)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Simplify an expression.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#typeCheck(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)">typeCheck</A></B>(<A HREF="../../../../../net/sf/saxon/expr/parser/ExpressionVisitor.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor</A>&nbsp;visitor,
          <A HREF="../../../../../net/sf/saxon/expr/parser/ExpressionVisitor.ContextItemType.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor.ContextItemType</A>&nbsp;contextItemType)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform type checking of an expression and its subexpressions.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.html#usesTailRecursion()">usesTailRecursion</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ask whether this is a tail call</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_net.sf.saxon.expr.instruct.Instruction"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class net.sf.saxon.expr.instruct.<A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html" title="class in net.sf.saxon.expr.instruct">Instruction</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#assembleParams(net.sf.saxon.expr.XPathContext, net.sf.saxon.expr.instruct.WithParam[])">assembleParams</A>, <A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#assembleTunnelParams(net.sf.saxon.expr.XPathContext, net.sf.saxon.expr.instruct.WithParam[])">assembleTunnelParams</A>, <A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#computeSpecialProperties()">computeSpecialProperties</A>, <A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#dynamicError(javax.xml.transform.SourceLocator, net.sf.saxon.trans.XPathException, net.sf.saxon.expr.XPathContext)">dynamicError</A>, <A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#evaluateAsString(net.sf.saxon.expr.XPathContext)">evaluateAsString</A>, <A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#evaluateItem(net.sf.saxon.expr.XPathContext)">evaluateItem</A>, <A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#getConstructType()">getConstructType</A>, <A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#getExpressionName()">getExpressionName</A>, <A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#getImplementationMethod()">getImplementationMethod</A>, <A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#getInstructionName()">getInstructionName</A>, <A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#getIteratorFromProcessMethod(net.sf.saxon.expr.XPathContext)">getIteratorFromProcessMethod</A>, <A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#getSourceLocator()">getSourceLocator</A>, <A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#isXSLT()">isXSLT</A>, <A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#iterate(net.sf.saxon.expr.XPathContext)">iterate</A>, <A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#promote(net.sf.saxon.expr.parser.PromotionOffer, net.sf.saxon.expr.Expression)">promote</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_net.sf.saxon.expr.Expression"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class net.sf.saxon.expr.<A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html#addToPathMap(net.sf.saxon.expr.parser.PathMap, net.sf.saxon.expr.parser.PathMap.PathMapNodeSet)">addToPathMap</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#adoptChildExpression(net.sf.saxon.expr.Expression)">adoptChildExpression</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#checkForUpdatingSubexpressions()">checkForUpdatingSubexpressions</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#checkPermittedContents(net.sf.saxon.type.SchemaType, net.sf.saxon.expr.StaticContext, boolean)">checkPermittedContents</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#computeDependencies()">computeDependencies</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#computeStaticProperties()">computeStaticProperties</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#doPromotion(net.sf.saxon.expr.Expression, net.sf.saxon.expr.parser.PromotionOffer)">doPromotion</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#dynamicError(java.lang.String, java.lang.String, net.sf.saxon.expr.XPathContext)">dynamicError</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#effectiveBooleanValue(net.sf.saxon.expr.XPathContext)">effectiveBooleanValue</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#evaluatePendingUpdates(net.sf.saxon.expr.XPathContext, net.sf.saxon.expr.PendingUpdateList)">evaluatePendingUpdates</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#explain(java.io.OutputStream)">explain</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getCardinality()">getCardinality</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getColumnNumber()">getColumnNumber</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getColumnNumber(long)">getColumnNumber</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getContainer()">getContainer</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getDependencies()">getDependencies</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getEvaluationMethod()">getEvaluationMethod</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getExecutable()">getExecutable</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getHostLanguage()">getHostLanguage</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getIntegerBounds()">getIntegerBounds</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getLineNumber()">getLineNumber</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getLineNumber(long)">getLineNumber</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getLocationId()">getLocationId</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getLocationProvider()">getLocationProvider</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getProperties()">getProperties</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getProperty(java.lang.String)">getProperty</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getPublicId()">getPublicId</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getSlotsUsed()">getSlotsUsed</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getSpecialProperties()">getSpecialProperties</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getSystemId()">getSystemId</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#getSystemId(long)">getSystemId</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#hasLoopingSubexpression(net.sf.saxon.expr.Expression)">hasLoopingSubexpression</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#hasVariableBinding(net.sf.saxon.expr.Binding)">hasVariableBinding</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#implementsStaticTypeCheck()">implementsStaticTypeCheck</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#isSubtreeExpression()">isSubtreeExpression</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#isUpdatingExpression()">isUpdatingExpression</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#isVacuousExpression()">isVacuousExpression</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#iterateEvents(net.sf.saxon.expr.XPathContext)">iterateEvents</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#iterateSameFocusSubExpressions()">iterateSameFocusSubExpressions</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#markTailFunctionCalls(net.sf.saxon.om.StructuredQName, int)">markTailFunctionCalls</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#resetLocalStaticProperties()">resetLocalStaticProperties</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#setContainer(net.sf.saxon.expr.Container)">setContainer</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#setEvaluationMethod(int)">setEvaluationMethod</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#setFiltered(boolean)">setFiltered</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#setFlattened(boolean)">setFlattened</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#setLocationId(int)">setLocationId</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#staticTypeCheck(net.sf.saxon.value.SequenceType, boolean, net.sf.saxon.expr.parser.RoleLocator, net.sf.saxon.TypeCheckerEnvironment)">staticTypeCheck</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#suppressValidation(int)">suppressValidation</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#toString()">toString</A>, <A HREF="../../../../../net/sf/saxon/expr/Expression.html#typeError(java.lang.String, java.lang.String, net.sf.saxon.expr.XPathContext)">typeError</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_javax.xml.transform.SourceLocator"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface javax.xml.transform.<A HREF="http://download.oracle.com/javase/6/docs/api/javax/xml/transform/SourceLocator.html?is-external=true" title="class or interface in javax.xml.transform">SourceLocator</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/javax/xml/transform/SourceLocator.html?is-external=true#getColumnNumber()" title="class or interface in javax.xml.transform">getColumnNumber</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/javax/xml/transform/SourceLocator.html?is-external=true#getLineNumber()" title="class or interface in javax.xml.transform">getLineNumber</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/javax/xml/transform/SourceLocator.html?is-external=true#getPublicId()" title="class or interface in javax.xml.transform">getPublicId</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/javax/xml/transform/SourceLocator.html?is-external=true#getSystemId()" title="class or interface in javax.xml.transform">getSystemId</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="CallTemplate(net.sf.saxon.expr.instruct.Template, boolean, net.sf.saxon.expr.Expression, net.sf.saxon.om.NamespaceResolver)"><!-- --></A><H3>
CallTemplate</H3>
<PRE>
public <B>CallTemplate</B>(<A HREF="../../../../../net/sf/saxon/expr/instruct/Template.html" title="class in net.sf.saxon.expr.instruct">Template</A>&nbsp;template,
                    boolean&nbsp;useTailRecursion,
                    <A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;calledTemplateExpression,
                    <A HREF="../../../../../net/sf/saxon/om/NamespaceResolver.html" title="interface in net.sf.saxon.om">NamespaceResolver</A>&nbsp;nsContext)</PRE>
<DL>
<DD>Construct a CallTemplate instruction.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>template</CODE> - the Template object identifying the template to be called, in the normal
                                 case where this is known statically<DD><CODE>useTailRecursion</CODE> - true if the call is potentially tail recursive<DD><CODE>calledTemplateExpression</CODE> - expression to calculate the name of the template to be called
                                 at run-time, this supports the saxon:allow-avt option<DD><CODE>nsContext</CODE> - the static namespace context of the instruction, needed only in the case
                                 where the name of the called template is to be calculated dynamically</DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="getCalledTemplateExpression()"><!-- --></A><H3>
getCalledTemplateExpression</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> <B>getCalledTemplateExpression</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getNsContext()"><!-- --></A><H3>
getNsContext</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/om/NamespaceResolver.html" title="interface in net.sf.saxon.om">NamespaceResolver</A> <B>getNsContext</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setActualParameters(net.sf.saxon.expr.instruct.WithParam[], net.sf.saxon.expr.instruct.WithParam[])"><!-- --></A><H3>
setActualParameters</H3>
<PRE>
public void <B>setActualParameters</B>(<A HREF="../../../../../net/sf/saxon/expr/instruct/WithParam.html" title="class in net.sf.saxon.expr.instruct">WithParam</A>[]&nbsp;actualParams,
                                <A HREF="../../../../../net/sf/saxon/expr/instruct/WithParam.html" title="class in net.sf.saxon.expr.instruct">WithParam</A>[]&nbsp;tunnelParams)</PRE>
<DL>
<DD>Set the actual parameters on the call
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>actualParams</CODE> - the parameters that are not tunnel parameters<DD><CODE>tunnelParams</CODE> - the tunnel parameters</DL>
</DD>
</DL>
<HR>

<A NAME="getActualParams()"><!-- --></A><H3>
getActualParams</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/instruct/WithParam.html" title="class in net.sf.saxon.expr.instruct">WithParam</A>[] <B>getActualParams</B>()</PRE>
<DL>
<DD>Get the actual parameters passed to the called template
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/ITemplateCall.html#getActualParams()">getActualParams</A></CODE> in interface <CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/ITemplateCall.html" title="interface in net.sf.saxon.expr.instruct">ITemplateCall</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the non-tunnel parameters</DL>
</DD>
</DL>
<HR>

<A NAME="getTunnelParams()"><!-- --></A><H3>
getTunnelParams</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/instruct/WithParam.html" title="class in net.sf.saxon.expr.instruct">WithParam</A>[] <B>getTunnelParams</B>()</PRE>
<DL>
<DD>Get the tunnel parameters passed to the called template
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/ITemplateCall.html#getTunnelParams()">getTunnelParams</A></CODE> in interface <CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/ITemplateCall.html" title="interface in net.sf.saxon.expr.instruct">ITemplateCall</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the tunnel parameters</DL>
</DD>
</DL>
<HR>

<A NAME="getTargetTemplate()"><!-- --></A><H3>
getTargetTemplate</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/instruct/Template.html" title="class in net.sf.saxon.expr.instruct">Template</A> <B>getTargetTemplate</B>()</PRE>
<DL>
<DD>Get the target template, if known statically
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the target template</DL>
</DD>
</DL>
<HR>

<A NAME="usesTailRecursion()"><!-- --></A><H3>
usesTailRecursion</H3>
<PRE>
public boolean <B>usesTailRecursion</B>()</PRE>
<DL>
<DD>Ask whether this is a tail call
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if this is a tail call</DL>
</DD>
</DL>
<HR>

<A NAME="getInstructionNameCode()"><!-- --></A><H3>
getInstructionNameCode</H3>
<PRE>
public int <B>getInstructionNameCode</B>()</PRE>
<DL>
<DD>Return the name of this instruction.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#getInstructionNameCode()">getInstructionNameCode</A></CODE> in class <CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html" title="class in net.sf.saxon.expr.instruct">Instruction</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>a code identifying the instruction: typically but not always
 the fingerprint of a name in the XSLT namespace</DL>
</DD>
</DL>
<HR>

<A NAME="simplify(net.sf.saxon.expr.parser.ExpressionVisitor)"><!-- --></A><H3>
simplify</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> <B>simplify</B>(<A HREF="../../../../../net/sf/saxon/expr/parser/ExpressionVisitor.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor</A>&nbsp;visitor)
                    throws <A HREF="../../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD>Simplify an expression. This performs any static optimization (by rewriting the expression
 as a different expression).
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#simplify(net.sf.saxon.expr.parser.ExpressionVisitor)">simplify</A></CODE> in class <CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html" title="class in net.sf.saxon.expr.instruct">Instruction</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - an expression visitor
<DT><B>Returns:</B><DD>the simplified expression
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE> - if an error is discovered during expression
                        rewriting</DL>
</DD>
</DL>
<HR>

<A NAME="typeCheck(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)"><!-- --></A><H3>
typeCheck</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> <B>typeCheck</B>(<A HREF="../../../../../net/sf/saxon/expr/parser/ExpressionVisitor.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor</A>&nbsp;visitor,
                            <A HREF="../../../../../net/sf/saxon/expr/parser/ExpressionVisitor.ContextItemType.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor.ContextItemType</A>&nbsp;contextItemType)
                     throws <A HREF="../../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html#typeCheck(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)">Expression</A></CODE></B></DD>
<DD>Perform type checking of an expression and its subexpressions. This is the second phase of
 static optimization.

 <p>This checks statically that the operands of the expression have
 the correct type; if necessary it generates code to do run-time type checking or type
 conversion. A static type error is reported only if execution cannot possibly succeed, that
 is, if a run-time type error is inevitable. The call may return a modified form of the expression.</p>

 <p>This method is called after all references to functions and variables have been resolved
 to the declaration of the function or variable. However, the types of such functions and
 variables may not be accurately known if they have not been explicitly declared.</p>

 <p>If the implementation returns a value other than "this", then it is required to ensure that
 the location information in the returned expression have been set up correctly.
 It should not rely on the caller to do this, although for historical reasons many callers do so.</p>
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html#typeCheck(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)">typeCheck</A></CODE> in class <CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - an expression visitor<DD><CODE>contextItemType</CODE> - the static type of "." at the point where this expression is invoked.
 The parameter is set to null if it is known statically that the context item will be undefined.
 If the type of the context item is not known statically, the argument is set to
 <A HREF="../../../../../net/sf/saxon/type/Type.html#ITEM_TYPE"><CODE>Type.ITEM_TYPE</CODE></A>
<DT><B>Returns:</B><DD>the original expression, rewritten to perform necessary run-time type checks,
 and to perform other type-related optimizations
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE> - if an error is discovered during this phase
     (typically a type error)</DL>
</DD>
</DL>
<HR>

<A NAME="optimize(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)"><!-- --></A><H3>
optimize</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> <B>optimize</B>(<A HREF="../../../../../net/sf/saxon/expr/parser/ExpressionVisitor.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor</A>&nbsp;visitor,
                           <A HREF="../../../../../net/sf/saxon/expr/parser/ExpressionVisitor.ContextItemType.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor.ContextItemType</A>&nbsp;contextItemType)
                    throws <A HREF="../../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html#optimize(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)">Expression</A></CODE></B></DD>
<DD>Perform optimisation of an expression and its subexpressions. This is the third and final
 phase of static optimization.

 <p>This method is called after all references to functions and variables have been resolved
 to the declaration of the function or variable, and after all type checking has been done.</p>
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html#optimize(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)">optimize</A></CODE> in class <CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - an expression visitor<DD><CODE>contextItemType</CODE> - the static type of "." at the point where this expression is invoked.
 The parameter is set to null if it is known statically that the context item will be undefined.
 If the type of the context item is not known statically, the argument is set to
 <A HREF="../../../../../net/sf/saxon/type/Type.html#ITEM_TYPE"><CODE>Type.ITEM_TYPE</CODE></A>
<DT><B>Returns:</B><DD>the original expression, rewritten if appropriate to optimize execution
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE> - if an error is discovered during this phase
     (typically a type error)</DL>
</DD>
</DL>
<HR>

<A NAME="computeCardinality()"><!-- --></A><H3>
computeCardinality</H3>
<PRE>
public int <B>computeCardinality</B>()</PRE>
<DL>
<DD>Get the cardinality of the sequence returned by evaluating this instruction
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#computeCardinality()">computeCardinality</A></CODE> in class <CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html" title="class in net.sf.saxon.expr.instruct">Instruction</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the static cardinality</DL>
</DD>
</DL>
<HR>

<A NAME="getItemType(net.sf.saxon.type.TypeHierarchy)"><!-- --></A><H3>
getItemType</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/type/ItemType.html" title="interface in net.sf.saxon.type">ItemType</A> <B>getItemType</B>(<A HREF="../../../../../net/sf/saxon/type/TypeHierarchy.html" title="class in net.sf.saxon.type">TypeHierarchy</A>&nbsp;th)</PRE>
<DL>
<DD>Get the item type of the items returned by evaluating this instruction
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#getItemType(net.sf.saxon.type.TypeHierarchy)">getItemType</A></CODE> in class <CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html" title="class in net.sf.saxon.expr.instruct">Instruction</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>th</CODE> - the type hierarchy cache
<DT><B>Returns:</B><DD>the static item type of the instruction</DL>
</DD>
</DL>
<HR>

<A NAME="copy()"><!-- --></A><H3>
copy</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> <B>copy</B>()</PRE>
<DL>
<DD>Copy an expression. This makes a deep copy.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html#copy()">copy</A></CODE> in class <CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the copy of the original expression</DL>
</DD>
</DL>
<HR>

<A NAME="getIntrinsicDependencies()"><!-- --></A><H3>
getIntrinsicDependencies</H3>
<PRE>
public int <B>getIntrinsicDependencies</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html#getIntrinsicDependencies()">Expression</A></CODE></B></DD>
<DD>Determine the intrinsic dependencies of an expression, that is, those which are not derived
 from the dependencies of its subexpressions. For example, position() has an intrinsic dependency
 on the context position, while (position()+1) does not. The default implementation
 of the method returns 0, indicating "no dependencies".
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html#getIntrinsicDependencies()">getIntrinsicDependencies</A></CODE> in class <CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>a set of bit-significant flags identifying the "intrinsic"
     dependencies. The flags are documented in class net.sf.saxon.value.StaticProperty</DL>
</DD>
</DL>
<HR>

<A NAME="createsNewNodes()"><!-- --></A><H3>
createsNewNodes</H3>
<PRE>
public final boolean <B>createsNewNodes</B>()</PRE>
<DL>
<DD>Determine whether this instruction creates new nodes.
 This implementation currently returns true unconditionally.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#createsNewNodes()">createsNewNodes</A></CODE> in class <CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html" title="class in net.sf.saxon.expr.instruct">Instruction</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if the instruction creates new nodes (or if it can't be proved that it doesn't)</DL>
</DD>
</DL>
<HR>

<A NAME="iterateSubExpressions()"><!-- --></A><H3>
iterateSubExpressions</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</A>&lt;<A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&gt; <B>iterateSubExpressions</B>()</PRE>
<DL>
<DD>Get all the XPath expressions associated with this instruction
 (in XSLT terms, the expression present on attributes of the instruction,
 as distinct from the child instructions in a sequence construction)
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html#iterateSubExpressions()">iterateSubExpressions</A></CODE> in class <CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>an iterator containing the sub-expressions of this expression</DL>
</DD>
</DL>
<HR>

<A NAME="replaceSubExpression(net.sf.saxon.expr.Expression, net.sf.saxon.expr.Expression)"><!-- --></A><H3>
replaceSubExpression</H3>
<PRE>
public boolean <B>replaceSubExpression</B>(<A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;original,
                                    <A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;replacement)</PRE>
<DL>
<DD>Replace one subexpression by a replacement subexpression
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html#replaceSubExpression(net.sf.saxon.expr.Expression, net.sf.saxon.expr.Expression)">replaceSubExpression</A></CODE> in class <CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>original</CODE> - the original subexpression<DD><CODE>replacement</CODE> - the replacement subexpression
<DT><B>Returns:</B><DD>true if the original subexpression is found</DL>
</DD>
</DL>
<HR>

<A NAME="promoteInst(net.sf.saxon.expr.parser.PromotionOffer)"><!-- --></A><H3>
promoteInst</H3>
<PRE>
protected void <B>promoteInst</B>(<A HREF="../../../../../net/sf/saxon/expr/parser/PromotionOffer.html" title="class in net.sf.saxon.expr.parser">PromotionOffer</A>&nbsp;offer)
                    throws <A HREF="../../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD>Handle promotion offers, that is, non-local tree rewrites.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#promoteInst(net.sf.saxon.expr.parser.PromotionOffer)">promoteInst</A></CODE> in class <CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html" title="class in net.sf.saxon.expr.instruct">Instruction</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>offer</CODE> - The type of rewrite being offered
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="process(net.sf.saxon.expr.XPathContext)"><!-- --></A><H3>
process</H3>
<PRE>
public void <B>process</B>(<A HREF="../../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A>&nbsp;context)
             throws <A HREF="../../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD>Process this instruction, without leaving any tail calls.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#process(net.sf.saxon.expr.XPathContext)">process</A></CODE> in class <CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html" title="class in net.sf.saxon.expr.instruct">Instruction</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - the dynamic context for this transformation
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE> - if a dynamic error occurs</DL>
</DD>
</DL>
<HR>

<A NAME="processLeavingTail(net.sf.saxon.expr.XPathContext)"><!-- --></A><H3>
processLeavingTail</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/instruct/TailCall.html" title="interface in net.sf.saxon.expr.instruct">TailCall</A> <B>processLeavingTail</B>(<A HREF="../../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A>&nbsp;context)
                            throws <A HREF="../../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD>Process this instruction. If the called template contains a tail call (which may be
 an xsl:call-template of xsl:apply-templates instruction) then the tail call will not
 actually be evaluated, but will be returned in a TailCall object for the caller to execute.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/TailCallReturner.html#processLeavingTail(net.sf.saxon.expr.XPathContext)">processLeavingTail</A></CODE> in interface <CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/TailCallReturner.html" title="interface in net.sf.saxon.expr.instruct">TailCallReturner</A></CODE><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html#processLeavingTail(net.sf.saxon.expr.XPathContext)">processLeavingTail</A></CODE> in class <CODE><A HREF="../../../../../net/sf/saxon/expr/instruct/Instruction.html" title="class in net.sf.saxon.expr.instruct">Instruction</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - the dynamic context for this transformation
<DT><B>Returns:</B><DD>an object containing information about the tail call to be executed by the
         caller. Returns null if there is no tail call.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE> - if a dynamic error occurs during the evaluation
 of the instruction</DL>
</DD>
</DL>
<HR>

<A NAME="getTargetTemplate(net.sf.saxon.expr.XPathContext)"><!-- --></A><H3>
getTargetTemplate</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/instruct/Template.html" title="class in net.sf.saxon.expr.instruct">Template</A> <B>getTargetTemplate</B>(<A HREF="../../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A>&nbsp;context)
                           throws <A HREF="../../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD>Get the template, in the case where it is specified dynamically.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - The dynamic context of the transformation
<DT><B>Returns:</B><DD>The template to be called
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE> - if a dynamic error occurs: specifically, if the
                        template name is computed at run-time (Saxon extension) and the name is invalid
                        or does not reference a known template</DL>
</DD>
</DL>
<HR>

<A NAME="getObjectName()"><!-- --></A><H3>
getObjectName</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/om/StructuredQName.html" title="class in net.sf.saxon.om">StructuredQName</A> <B>getObjectName</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../net/sf/saxon/trace/InstructionInfo.html#getObjectName()">InstructionInfo</A></CODE></B></DD>
<DD>Get a name identifying the object of the expression, for example a function name, template name,
 variable name, key name, element name, etc. This is used only where the name is known statically.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/trace/InstructionInfo.html#getObjectName()">getObjectName</A></CODE> in interface <CODE><A HREF="../../../../../net/sf/saxon/trace/InstructionInfo.html" title="interface in net.sf.saxon.trace">InstructionInfo</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html#getObjectName()">getObjectName</A></CODE> in class <CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the QName of the object declared or manipulated by this instruction or expression</DL>
</DD>
</DL>
<HR>

<A NAME="explain(net.sf.saxon.trace.ExpressionPresenter)"><!-- --></A><H3>
explain</H3>
<PRE>
public void <B>explain</B>(<A HREF="../../../../../net/sf/saxon/trace/ExpressionPresenter.html" title="class in net.sf.saxon.trace">ExpressionPresenter</A>&nbsp;out)</PRE>
<DL>
<DD>Diagnostic print of expression structure. The abstract expression tree
 is written to the supplied output destination.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html#explain(net.sf.saxon.trace.ExpressionPresenter)">explain</A></CODE> in class <CODE><A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>out</CODE> - the expression presenter used to display the structure</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../net/sf/saxon/expr/instruct/BlockIterator.html" title="class in net.sf.saxon.expr.instruct"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../net/sf/saxon/expr/instruct/CallTemplate.CallTemplatePackage.html" title="class in net.sf.saxon.expr.instruct"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?net/sf/saxon/expr/instruct/CallTemplate.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="CallTemplate.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_net.sf.saxon.expr.Expression">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.
</BODY>
</HTML>