Sophie

Sophie

distrib > Mageia > 7 > aarch64 > by-pkgid > b3bdfe6d859a3d6920ff2c44b38e9a6f > files > 2628

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:37 GMT 2011 -->
<TITLE>
Mode
</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="Mode";
    }
}
</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/trans/LicenseException.html" title="class in net.sf.saxon.trans"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../net/sf/saxon/trans/NoDynamicContextException.html" title="class in net.sf.saxon.trans"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?net/sf/saxon/trans/Mode.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Mode.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;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">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;<A HREF="#field_detail">FIELD</A>&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.trans</FONT>
<BR>
Class Mode</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 "><B>net.sf.saxon.trans.Mode</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></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>Mode</B><DT>extends <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><DT>implements <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></DL>
</PRE>

<P>
A Mode is a collection of rules; the selection of a rule to apply to a given element
 is determined by a Pattern.
<P>

<P>
<DL>
<DT><B>Author:</B></DT>
  <DD>Michael H. Kay</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#net.sf.saxon.trans.Mode">Serialized Form</A></DL>
<HR>

<P>
<!-- =========== 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>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&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/trans/Mode.html#ALL_MODES">ALL_MODES</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>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/trans/Mode.html#NAMED_MODE">NAMED_MODE</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>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/trans/Mode.html#STRIPPER_MODE">STRIPPER_MODE</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>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/trans/Mode.html#UNNAMED_MODE">UNNAMED_MODE</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>static&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/trans/Mode.html#UNNAMED_MODE_NAME">UNNAMED_MODE_NAME</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/trans/Mode.html#Mode(int, net.sf.saxon.om.StructuredQName)">Mode</A></B>(int&nbsp;usage,
     <A HREF="../../../../net/sf/saxon/om/StructuredQName.html" title="class in net.sf.saxon.om">StructuredQName</A>&nbsp;modeName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default constructor - creates a Mode containing no rules</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../net/sf/saxon/trans/Mode.html#Mode(net.sf.saxon.trans.Mode, net.sf.saxon.om.StructuredQName)">Mode</A></B>(<A HREF="../../../../net/sf/saxon/trans/Mode.html" title="class in net.sf.saxon.trans">Mode</A>&nbsp;omniMode,
     <A HREF="../../../../net/sf/saxon/om/StructuredQName.html" title="class in net.sf.saxon.om">StructuredQName</A>&nbsp;modeName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a new Mode, copying the contents of an existing Mode</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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/trans/Mode.html#addRule(net.sf.saxon.pattern.Pattern, net.sf.saxon.trans.RuleTarget, net.sf.saxon.style.StylesheetModule, double, boolean)">addRule</A></B>(<A HREF="../../../../net/sf/saxon/pattern/Pattern.html" title="class in net.sf.saxon.pattern">Pattern</A>&nbsp;pattern,
        <A HREF="../../../../net/sf/saxon/trans/RuleTarget.html" title="interface in net.sf.saxon.trans">RuleTarget</A>&nbsp;action,
        <A HREF="../../../../net/sf/saxon/style/StylesheetModule.html" title="class in net.sf.saxon.style">StylesheetModule</A>&nbsp;module,
        double&nbsp;priority,
        boolean&nbsp;explicitMode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a rule to the Mode.</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/trans/Mode.html#allocatePatternSlots(int)">allocatePatternSlots</A></B>(int&nbsp;slots)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specify how many slots for local variables are required by a particular pattern</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/trans/Mode.html#applyTemplates(net.sf.saxon.expr.instruct.ParameterSet, net.sf.saxon.expr.instruct.ParameterSet, net.sf.saxon.expr.XPathContextMajor, int)">applyTemplates</A></B>(<A HREF="../../../../net/sf/saxon/expr/instruct/ParameterSet.html" title="class in net.sf.saxon.expr.instruct">ParameterSet</A>&nbsp;parameters,
               <A HREF="../../../../net/sf/saxon/expr/instruct/ParameterSet.html" title="class in net.sf.saxon.expr.instruct">ParameterSet</A>&nbsp;tunnelParameters,
               <A HREF="../../../../net/sf/saxon/expr/XPathContextMajor.html" title="class in net.sf.saxon.expr">XPathContextMajor</A>&nbsp;context,
               int&nbsp;locationId)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process selected nodes using the handlers registered for this mode.</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/trans/Mode.html#computeRankings()">computeRankings</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compute a rank for each rule, as a combination of the precedence and priority, to allow
 rapid comparison.</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/trans/Mode.html#explainTemplateRules(net.sf.saxon.trace.ExpressionPresenter)">explainTemplateRules</A></B>(<A HREF="../../../../net/sf/saxon/trace/ExpressionPresenter.html" title="class in net.sf.saxon.trace">ExpressionPresenter</A>&nbsp;presenter)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Explain all template rules in this mode by showing their
 expression tree represented in XML.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/trans/BuiltInRuleSet.html" title="interface in net.sf.saxon.trans">BuiltInRuleSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/trans/Mode.html#getBuiltInRuleSet()">getBuiltInRuleSet</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the built-in template rules to be used with this Mode in the case where there is no
 explicit template rule</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/trans/Mode.html#getModeName()">getModeName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the name of the mode (for diagnostics only)</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/trans/Rule.html" title="class in net.sf.saxon.trans">Rule</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/trans/Mode.html#getNextMatchRule(net.sf.saxon.om.Item, net.sf.saxon.trans.Rule, net.sf.saxon.expr.XPathContext)">getNextMatchRule</A></B>(<A HREF="../../../../net/sf/saxon/om/Item.html" title="interface in net.sf.saxon.om">Item</A>&nbsp;item,
                 <A HREF="../../../../net/sf/saxon/trans/Rule.html" title="class in net.sf.saxon.trans">Rule</A>&nbsp;currentRule,
                 <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 rule corresponding to a given Node, by finding the next-best Pattern match
 after the specified object.</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/trans/Mode.html#getRecoveryPolicy()">getRecoveryPolicy</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the policy for handling recoverable errors.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/trans/Rule.html" title="class in net.sf.saxon.trans">Rule</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/trans/Mode.html#getRule(net.sf.saxon.om.Item, int, int, net.sf.saxon.expr.XPathContext)">getRule</A></B>(<A HREF="../../../../net/sf/saxon/om/Item.html" title="interface in net.sf.saxon.om">Item</A>&nbsp;item,
        int&nbsp;min,
        int&nbsp;max,
        <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 rule corresponding to a given Node, by finding the best Pattern match, subject to a minimum
 and maximum precedence.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/trans/Rule.html" title="class in net.sf.saxon.trans">Rule</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/trans/Mode.html#getRule(net.sf.saxon.om.Item, net.sf.saxon.expr.XPathContext)">getRule</A></B>(<A HREF="../../../../net/sf/saxon/om/Item.html" title="interface in net.sf.saxon.om">Item</A>&nbsp;item,
        <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 rule corresponding to a given Node, by finding the best Pattern match.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/trans/Rule.html" title="class in net.sf.saxon.trans">Rule</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/trans/Mode.html#getRule(net.sf.saxon.om.Item, net.sf.saxon.expr.XPathContext, net.sf.saxon.trans.Mode.RuleFilter)">getRule</A></B>(<A HREF="../../../../net/sf/saxon/om/Item.html" title="interface in net.sf.saxon.om">Item</A>&nbsp;item,
        <A HREF="../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A>&nbsp;context,
        net.sf.saxon.trans.Mode.RuleFilter&nbsp;filter)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the rule corresponding to a given item, by finding the best Pattern match.</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/trans/Mode.html#invertStreamableTemplates(net.sf.saxon.expr.parser.Optimizer)">invertStreamableTemplates</A></B>(<A HREF="../../../../net/sf/saxon/expr/parser/Optimizer.html" title="class in net.sf.saxon.expr.parser">Optimizer</A>&nbsp;opt)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For a streamable mode, invert all the templates to generate streamable code</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/trans/Mode.html#isDefaultMode()">isDefaultMode</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine if this is the default mode</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/trans/Mode.html#isEmpty()">isEmpty</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ask whether there are any template rules in this mode
 (a mode could exist merely because it is referenced in apply-templates)</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/trans/Mode.html#isStreamable()">isStreamable</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ask whether this mode is streamable</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/trans/Mode.html#processRules(net.sf.saxon.trans.Mode.RuleAction)">processRules</A></B>(net.sf.saxon.trans.Mode.RuleAction&nbsp;action)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Walk over all the rules, applying a specified action to each one.</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/trans/Mode.html#setBuiltInRuleSet(net.sf.saxon.trans.BuiltInRuleSet)">setBuiltInRuleSet</A></B>(<A HREF="../../../../net/sf/saxon/trans/BuiltInRuleSet.html" title="interface in net.sf.saxon.trans">BuiltInRuleSet</A>&nbsp;defaultRules)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the built-in template rules to be used with this Mode in the case where there is no
 explicit template rule</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/trans/Mode.html#setRecoveryPolicy(int)">setRecoveryPolicy</A></B>(int&nbsp;policy)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the policy for handling recoverable errrors.</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/trans/Mode.html#setStreamable(boolean)">setStreamable</A></B>(boolean&nbsp;streamable)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Say that this mode is (or is not) streamable</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#toString()" title="class or interface in java.lang">toString</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;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_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>Field Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="UNNAMED_MODE"><!-- --></A><H3>
UNNAMED_MODE</H3>
<PRE>
public static final int <B>UNNAMED_MODE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#net.sf.saxon.trans.Mode.UNNAMED_MODE">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="NAMED_MODE"><!-- --></A><H3>
NAMED_MODE</H3>
<PRE>
public static final int <B>NAMED_MODE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#net.sf.saxon.trans.Mode.NAMED_MODE">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="STRIPPER_MODE"><!-- --></A><H3>
STRIPPER_MODE</H3>
<PRE>
public static final int <B>STRIPPER_MODE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#net.sf.saxon.trans.Mode.STRIPPER_MODE">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="ALL_MODES"><!-- --></A><H3>
ALL_MODES</H3>
<PRE>
public static final <A HREF="../../../../net/sf/saxon/om/StructuredQName.html" title="class in net.sf.saxon.om">StructuredQName</A> <B>ALL_MODES</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="UNNAMED_MODE_NAME"><!-- --></A><H3>
UNNAMED_MODE_NAME</H3>
<PRE>
public static final <A HREF="../../../../net/sf/saxon/om/StructuredQName.html" title="class in net.sf.saxon.om">StructuredQName</A> <B>UNNAMED_MODE_NAME</B></PRE>
<DL>
<DL>
</DL>
</DL>

<!-- ========= 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="Mode(int, net.sf.saxon.om.StructuredQName)"><!-- --></A><H3>
Mode</H3>
<PRE>
public <B>Mode</B>(int&nbsp;usage,
            <A HREF="../../../../net/sf/saxon/om/StructuredQName.html" title="class in net.sf.saxon.om">StructuredQName</A>&nbsp;modeName)</PRE>
<DL>
<DD>Default constructor - creates a Mode containing no rules
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>usage</CODE> - one of <A HREF="../../../../net/sf/saxon/trans/Mode.html#UNNAMED_MODE"><CODE>UNNAMED_MODE</CODE></A>, <A HREF="../../../../net/sf/saxon/trans/Mode.html#NAMED_MODE"><CODE>NAMED_MODE</CODE></A>, <A HREF="../../../../net/sf/saxon/trans/Mode.html#STRIPPER_MODE"><CODE>STRIPPER_MODE</CODE></A><DD><CODE>modeName</CODE> - the name of the mode</DL>
</DL>
<HR>

<A NAME="Mode(net.sf.saxon.trans.Mode, net.sf.saxon.om.StructuredQName)"><!-- --></A><H3>
Mode</H3>
<PRE>
public <B>Mode</B>(<A HREF="../../../../net/sf/saxon/trans/Mode.html" title="class in net.sf.saxon.trans">Mode</A>&nbsp;omniMode,
            <A HREF="../../../../net/sf/saxon/om/StructuredQName.html" title="class in net.sf.saxon.om">StructuredQName</A>&nbsp;modeName)</PRE>
<DL>
<DD>Construct a new Mode, copying the contents of an existing Mode
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>omniMode</CODE> - the existing mode. May be null, in which case it is not copied<DD><CODE>modeName</CODE> - the name of the new mode to be created</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="setBuiltInRuleSet(net.sf.saxon.trans.BuiltInRuleSet)"><!-- --></A><H3>
setBuiltInRuleSet</H3>
<PRE>
public void <B>setBuiltInRuleSet</B>(<A HREF="../../../../net/sf/saxon/trans/BuiltInRuleSet.html" title="interface in net.sf.saxon.trans">BuiltInRuleSet</A>&nbsp;defaultRules)</PRE>
<DL>
<DD>Set the built-in template rules to be used with this Mode in the case where there is no
 explicit template rule
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>defaultRules</CODE> - the built-in rule set</DL>
</DD>
</DL>
<HR>

<A NAME="getBuiltInRuleSet()"><!-- --></A><H3>
getBuiltInRuleSet</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/trans/BuiltInRuleSet.html" title="interface in net.sf.saxon.trans">BuiltInRuleSet</A> <B>getBuiltInRuleSet</B>()</PRE>
<DL>
<DD>Get the built-in template rules to be used with this Mode in the case where there is no
 explicit template rule
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the built-in rule set, defaulting to the TextOnlyCopyRuleSet if no other rule set has
 been supplied</DL>
</DD>
</DL>
<HR>

<A NAME="isDefaultMode()"><!-- --></A><H3>
isDefaultMode</H3>
<PRE>
public boolean <B>isDefaultMode</B>()</PRE>
<DL>
<DD>Determine if this is the default mode
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if this is the default (unnamed) mode</DL>
</DD>
</DL>
<HR>

<A NAME="getModeName()"><!-- --></A><H3>
getModeName</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/om/StructuredQName.html" title="class in net.sf.saxon.om">StructuredQName</A> <B>getModeName</B>()</PRE>
<DL>
<DD>Get the name of the mode (for diagnostics only)
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the mode name. Null for the default (unnamed) mode</DL>
</DD>
</DL>
<HR>

<A NAME="isEmpty()"><!-- --></A><H3>
isEmpty</H3>
<PRE>
public boolean <B>isEmpty</B>()</PRE>
<DL>
<DD>Ask whether there are any template rules in this mode
 (a mode could exist merely because it is referenced in apply-templates)
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if no template rules exist in this mode</DL>
</DD>
</DL>
<HR>

<A NAME="setRecoveryPolicy(int)"><!-- --></A><H3>
setRecoveryPolicy</H3>
<PRE>
public void <B>setRecoveryPolicy</B>(int&nbsp;policy)</PRE>
<DL>
<DD>Set the policy for handling recoverable errrors. Note that for some errors the decision can be
 made at run-time, but for the "ambiguous template match" error, the decision is (since 9.2)
 fixed at compile time.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>policy</CODE> - the recovery policy to be used. The options are <A HREF="../../../../net/sf/saxon/Configuration.html#RECOVER_SILENTLY"><CODE>Configuration.RECOVER_SILENTLY</CODE></A>,
 <A HREF="../../../../net/sf/saxon/Configuration.html#RECOVER_WITH_WARNINGS"><CODE>Configuration.RECOVER_WITH_WARNINGS</CODE></A>, or <A HREF="../../../../net/sf/saxon/Configuration.html#DO_NOT_RECOVER"><CODE>Configuration.DO_NOT_RECOVER</CODE></A>.</DL>
</DD>
</DL>
<HR>

<A NAME="getRecoveryPolicy()"><!-- --></A><H3>
getRecoveryPolicy</H3>
<PRE>
public int <B>getRecoveryPolicy</B>()</PRE>
<DL>
<DD>Get the policy for handling recoverable errors. Note that for some errors the decision can be
 made at run-time, but for the "ambiguous template match" error, the decision is (since 9.2)
 fixed at compile time.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the current policy.</DL>
</DD>
</DL>
<HR>

<A NAME="setStreamable(boolean)"><!-- --></A><H3>
setStreamable</H3>
<PRE>
public void <B>setStreamable</B>(boolean&nbsp;streamable)</PRE>
<DL>
<DD>Say that this mode is (or is not) streamable
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>streamable</CODE> - true if this mode is a streamable mode</DL>
</DD>
</DL>
<HR>

<A NAME="isStreamable()"><!-- --></A><H3>
isStreamable</H3>
<PRE>
public boolean <B>isStreamable</B>()</PRE>
<DL>
<DD>Ask whether this mode is streamable
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if this mode is streamable</DL>
</DD>
</DL>
<HR>

<A NAME="addRule(net.sf.saxon.pattern.Pattern, net.sf.saxon.trans.RuleTarget, net.sf.saxon.style.StylesheetModule, double, boolean)"><!-- --></A><H3>
addRule</H3>
<PRE>
public void <B>addRule</B>(<A HREF="../../../../net/sf/saxon/pattern/Pattern.html" title="class in net.sf.saxon.pattern">Pattern</A>&nbsp;pattern,
                    <A HREF="../../../../net/sf/saxon/trans/RuleTarget.html" title="interface in net.sf.saxon.trans">RuleTarget</A>&nbsp;action,
                    <A HREF="../../../../net/sf/saxon/style/StylesheetModule.html" title="class in net.sf.saxon.style">StylesheetModule</A>&nbsp;module,
                    double&nbsp;priority,
                    boolean&nbsp;explicitMode)</PRE>
<DL>
<DD>Add a rule to the Mode.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>pattern</CODE> - a Pattern<DD><CODE>action</CODE> - the Object to return from getRule() when the supplied node matches this Pattern<DD><CODE>module</CODE> - the stylesheet module containing the rule<DD><CODE>priority</CODE> - the priority of the rule<DD><CODE>explicitMode</CODE> - true if adding a template rule for a specific (default or named) mode;
      false if adding a rule because it applies to all modes</DL>
</DD>
</DL>
<HR>

<A NAME="allocatePatternSlots(int)"><!-- --></A><H3>
allocatePatternSlots</H3>
<PRE>
public void <B>allocatePatternSlots</B>(int&nbsp;slots)</PRE>
<DL>
<DD>Specify how many slots for local variables are required by a particular pattern
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>slots</CODE> - the number of slots needed</DL>
</DD>
</DL>
<HR>

<A NAME="getRule(net.sf.saxon.om.Item, net.sf.saxon.expr.XPathContext)"><!-- --></A><H3>
getRule</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/trans/Rule.html" title="class in net.sf.saxon.trans">Rule</A> <B>getRule</B>(<A HREF="../../../../net/sf/saxon/om/Item.html" title="interface in net.sf.saxon.om">Item</A>&nbsp;item,
                    <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 rule corresponding to a given Node, by finding the best Pattern match.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>item</CODE> - the item to be matched<DD><CODE>context</CODE> - the XPath dynamic evaluation context
<DT><B>Returns:</B><DD>the best matching rule, if any (otherwise null).
<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 occurs matching a pattern</DL>
</DD>
</DL>
<HR>

<A NAME="getRule(net.sf.saxon.om.Item, net.sf.saxon.expr.XPathContext, net.sf.saxon.trans.Mode.RuleFilter)"><!-- --></A><H3>
getRule</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/trans/Rule.html" title="class in net.sf.saxon.trans">Rule</A> <B>getRule</B>(<A HREF="../../../../net/sf/saxon/om/Item.html" title="interface in net.sf.saxon.om">Item</A>&nbsp;item,
                    <A HREF="../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A>&nbsp;context,
                    net.sf.saxon.trans.Mode.RuleFilter&nbsp;filter)
             throws <A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD>Get the rule corresponding to a given item, by finding the best Pattern match.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>item</CODE> - the item to be matched<DD><CODE>context</CODE> - the XPath dynamic evaluation context<DD><CODE>filter</CODE> - a filter to select which rules should be considered
<DT><B>Returns:</B><DD>the best matching rule, if any (otherwise null).
<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 occurs</DL>
</DD>
</DL>
<HR>

<A NAME="getRule(net.sf.saxon.om.Item, int, int, net.sf.saxon.expr.XPathContext)"><!-- --></A><H3>
getRule</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/trans/Rule.html" title="class in net.sf.saxon.trans">Rule</A> <B>getRule</B>(<A HREF="../../../../net/sf/saxon/om/Item.html" title="interface in net.sf.saxon.om">Item</A>&nbsp;item,
                    int&nbsp;min,
                    int&nbsp;max,
                    <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 rule corresponding to a given Node, by finding the best Pattern match, subject to a minimum
 and maximum precedence. (This supports xsl:apply-imports)
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>item</CODE> - the item to be matched<DD><CODE>min</CODE> - the minimum import precedence<DD><CODE>max</CODE> - the maximum import precedence<DD><CODE>context</CODE> - the XPath dynamic evaluation context
<DT><B>Returns:</B><DD>the Rule registered for that node, if any (otherwise null).
<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 occurs evaluating match patterns</DL>
</DD>
</DL>
<HR>

<A NAME="getNextMatchRule(net.sf.saxon.om.Item, net.sf.saxon.trans.Rule, net.sf.saxon.expr.XPathContext)"><!-- --></A><H3>
getNextMatchRule</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/trans/Rule.html" title="class in net.sf.saxon.trans">Rule</A> <B>getNextMatchRule</B>(<A HREF="../../../../net/sf/saxon/om/Item.html" title="interface in net.sf.saxon.om">Item</A>&nbsp;item,
                             <A HREF="../../../../net/sf/saxon/trans/Rule.html" title="class in net.sf.saxon.trans">Rule</A>&nbsp;currentRule,
                             <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 rule corresponding to a given Node, by finding the next-best Pattern match
 after the specified object.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>item</CODE> - the NodeInfo referring to the node to be matched<DD><CODE>currentRule</CODE> - the current rule; we are looking for the next match after the current rule<DD><CODE>context</CODE> - the XPath dynamic evaluation context
<DT><B>Returns:</B><DD>the object (e.g. a NodeHandler) registered for that element, if any (otherwise null).
<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 occurs matching a pattern</DL>
</DD>
</DL>
<HR>

<A NAME="processRules(net.sf.saxon.trans.Mode.RuleAction)"><!-- --></A><H3>
processRules</H3>
<PRE>
public void <B>processRules</B>(net.sf.saxon.trans.Mode.RuleAction&nbsp;action)
                  throws <A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD>Walk over all the rules, applying a specified action to each one.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>action</CODE> - an action that is to be applied to all the rules in this Mode
<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 occurs processing any of the rules</DL>
</DD>
</DL>
<HR>

<A NAME="invertStreamableTemplates(net.sf.saxon.expr.parser.Optimizer)"><!-- --></A><H3>
invertStreamableTemplates</H3>
<PRE>
public void <B>invertStreamableTemplates</B>(<A HREF="../../../../net/sf/saxon/expr/parser/Optimizer.html" title="class in net.sf.saxon.expr.parser">Optimizer</A>&nbsp;opt)
                               throws <A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD>For a streamable mode, invert all the templates to generate streamable code
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>opt</CODE> - the optimizer (always a Saxon-EE optimizer)
<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 there is a non-streamable template in the mode</DL>
</DD>
</DL>
<HR>

<A NAME="explainTemplateRules(net.sf.saxon.trace.ExpressionPresenter)"><!-- --></A><H3>
explainTemplateRules</H3>
<PRE>
public void <B>explainTemplateRules</B>(<A HREF="../../../../net/sf/saxon/trace/ExpressionPresenter.html" title="class in net.sf.saxon.trace">ExpressionPresenter</A>&nbsp;presenter)</PRE>
<DL>
<DD>Explain all template rules in this mode by showing their
 expression tree represented in XML.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>presenter</CODE> - used to display the expression tree</DL>
</DD>
</DL>
<HR>

<A NAME="computeRankings()"><!-- --></A><H3>
computeRankings</H3>
<PRE>
public void <B>computeRankings</B>()
                     throws <A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD>Compute a rank for each rule, as a combination of the precedence and priority, to allow
 rapid comparison.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<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 occurs processing the rules</DL>
</DD>
</DL>
<HR>

<A NAME="applyTemplates(net.sf.saxon.expr.instruct.ParameterSet, net.sf.saxon.expr.instruct.ParameterSet, net.sf.saxon.expr.XPathContextMajor, int)"><!-- --></A><H3>
applyTemplates</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/expr/instruct/TailCall.html" title="interface in net.sf.saxon.expr.instruct">TailCall</A> <B>applyTemplates</B>(<A HREF="../../../../net/sf/saxon/expr/instruct/ParameterSet.html" title="class in net.sf.saxon.expr.instruct">ParameterSet</A>&nbsp;parameters,
                               <A HREF="../../../../net/sf/saxon/expr/instruct/ParameterSet.html" title="class in net.sf.saxon.expr.instruct">ParameterSet</A>&nbsp;tunnelParameters,
                               <A HREF="../../../../net/sf/saxon/expr/XPathContextMajor.html" title="class in net.sf.saxon.expr">XPathContextMajor</A>&nbsp;context,
                               int&nbsp;locationId)
                        throws <A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD>Process selected nodes using the handlers registered for this mode.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>parameters</CODE> - A ParameterSet containing the parameters to
     the handler/template being invoked. Specify null if there are no
     parameters.<DD><CODE>tunnelParameters</CODE> - A ParameterSet containing the parameters to
     the handler/template being invoked. Specify null if there are no
     parameters.<DD><CODE>context</CODE> - A newly-created context object (this must be freshly created by the caller,
 as it will be modified by this method). The nodes to be processed are those
 selected by the currentIterator in this context object. There is also a precondition
 that this mode must be the current mode in this context object.<DD><CODE>locationId</CODE> - location of this apply-templates instruction in the stylesheet
<DT><B>Returns:</B><DD>a TailCall returned by the last template to be invoked, or null,
     indicating that there are no outstanding tail calls.
<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 any dynamic error occurs</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/trans/LicenseException.html" title="class in net.sf.saxon.trans"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../net/sf/saxon/trans/NoDynamicContextException.html" title="class in net.sf.saxon.trans"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?net/sf/saxon/trans/Mode.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Mode.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;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">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;<A HREF="#field_detail">FIELD</A>&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>