com.icl.saxon
Class Mode

java.lang.Object
  extended bycom.icl.saxon.Mode

public class Mode
extends java.lang.Object

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


Constructor Summary
Mode()
           
 
Method Summary
 void addRule(Pattern p, java.lang.Object obj, int precedence, double priority)
          Add a rule to the Mode.
 int getList(int fingerprint, int type)
          Determine which list to use for a given pattern (we must also search the generic list)
 int getNameCode()
          Get the name of this mode (for tracing output)
 java.lang.Object getRule(NodeInfo node, Context context)
          Get the rule corresponding to a given Node, by finding the best Pattern match.
 java.lang.Object getRule(NodeInfo node, int min, int max, Context context)
          Get the rule corresponding to a given Node, by finding the best Pattern match, subject to a minimum and maximum precedence.
 void setNameCode(int nameCode)
          Set the name of this mode (for tracing output)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Mode

public Mode()
Method Detail

setNameCode

public void setNameCode(int nameCode)
Set the name of this mode (for tracing output)


getNameCode

public int getNameCode()
Get the name of this mode (for tracing output)


addRule

public void addRule(Pattern p,
                    java.lang.Object obj,
                    int precedence,
                    double priority)
Add a rule to the Mode.
The rule effectively replaces any other rule for the same pattern/mode at the same or a lower priority.

Parameters:
p - a Pattern
obj - the Object to return from getRule() when the supplied element matches this Pattern

getList

public int getList(int fingerprint,
                   int type)
Determine which list to use for a given pattern (we must also search the generic list)


getRule

public java.lang.Object getRule(NodeInfo node,
                                Context context)
                         throws TransformerException
Get the rule corresponding to a given Node, by finding the best Pattern match.

Parameters:
node - the NodeInfo referring to the node to be matched
Returns:
the object (e.g. a NodeHandler) registered for that element, if any (otherwise null).
Throws:
TransformerException

getRule

public java.lang.Object getRule(NodeInfo node,
                                int min,
                                int max,
                                Context context)
                         throws XPathException
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)

Parameters:
node - the NodeInfo referring to the node to be matched
Returns:
the object (e.g. a NodeHandler) registered for that element, if any (otherwise null).
Throws:
XPathException