Package net.sf.saxon.trans
Class Mode
java.lang.Object
net.sf.saxon.trans.Mode
- All Implemented Interfaces:
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:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
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
Get the name of the mode (for diagnostics only)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.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.getRule
(NodeInfo node, XPathContext context) Get the rule corresponding to a given Node, by finding the best Pattern match.boolean
Determine if this is the default mode
-
Field Details
-
DEFAULT_MODE
public static final int DEFAULT_MODE- See Also:
-
ALL_MODES
public static final int ALL_MODES- See Also:
-
NAMED_MODE
public static final int NAMED_MODE- See Also:
-
STRIPPER_MODE
public static final int STRIPPER_MODE- See Also:
-
-
Constructor Details
-
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
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 Details
-
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
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
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
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
-