Package net.sf.saxon.trans
Class Mode
- java.lang.Object
-
- net.sf.saxon.trans.Mode
-
- All Implemented Interfaces:
java.io.Serializable
public class Mode extends java.lang.Object implements java.io.Serializable
A Mode is a collection of rules; the selection of a rule to apply to a given element is determined by a Pattern.- Author:
- Michael H. Kay
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
ALL_MODES
static int
DEFAULT_MODE
static int
NAMED_MODE
static int
STRIPPER_MODE
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addRule(Pattern p, java.lang.Object action, 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
getModeNameCode()
Get the name of the mode (for diagnostics only)Rule
getNextMatchRule(NodeInfo node, Rule currentRule, XPathContext context)
Get the rule corresponding to a given Node, by finding the next-best Pattern match after the specified object.Rule
getRule(NodeInfo node, int min, int max, XPathContext context)
Get the rule corresponding to a given Node, by finding the best Pattern match, subject to a minimum and maximum precedence.Rule
getRule(NodeInfo node, XPathContext context)
Get the rule corresponding to a given Node, by finding the best Pattern match.boolean
isDefaultMode()
Determine if this is the default mode
-
-
-
Field Detail
-
DEFAULT_MODE
public static final int DEFAULT_MODE
- See Also:
- Constant Field Values
-
ALL_MODES
public static final int ALL_MODES
- See Also:
- Constant Field Values
-
NAMED_MODE
public static final int NAMED_MODE
- See Also:
- Constant Field Values
-
STRIPPER_MODE
public static final int STRIPPER_MODE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Mode
public Mode(int usage, int nameCode)
Default constructor - creates a Mode containing no rules- Parameters:
usage
- one ofDEFAULT_MODE
,NAMED_MODE
,STRIPPER_MODE
-
Mode
public Mode(Mode omniMode, int modeNameCode)
Construct a new Mode, copying the contents of an existing Mode- Parameters:
omniMode
- the existing mode. May be null, in which case it is not copied
-
-
Method Detail
-
isDefaultMode
public boolean isDefaultMode()
Determine if this is the default mode
-
getModeNameCode
public int getModeNameCode()
Get the name of the mode (for diagnostics only)
-
addRule
public void addRule(Pattern p, java.lang.Object action, int precedence, double priority)
Add a rule to the Mode.- Parameters:
p
- a Patternaction
- the Object to return from getRule() when the supplied node matches this Patternprecedence
- the import precedence of the rulepriority
- the explicit or implicit priority of the rule
-
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 Rule getRule(NodeInfo node, XPathContext context) throws XPathException
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 best matching rule, if any (otherwise null).
- Throws:
XPathException
-
getRule
public Rule getRule(NodeInfo node, int min, int max, XPathContext 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
-
getNextMatchRule
public Rule getNextMatchRule(NodeInfo node, Rule currentRule, XPathContext context) throws XPathException
Get the rule corresponding to a given Node, by finding the next-best Pattern match after the specified object.- 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
-
-