Package net.sf.saxon.trans
Class RuleManager
- java.lang.Object
-
- net.sf.saxon.trans.RuleManager
-
- All Implemented Interfaces:
java.io.Serializable
public final class RuleManager extends java.lang.Object implements java.io.SerializableRuleManager maintains a set of template rules, one set for each mode- Version:
- 10 December 1999: carved out of the old Controller class
- Author:
- Michael H. Kay
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description RuleManager()create a RuleManager and initialise variables.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ModegetDefaultMode()Get the mode object for the default (unnamed) modeModegetMode(int modeNameCode)Get the Mode object for a named mode.RulegetNextMatchHandler(NodeInfo node, Mode mode, Rule currentRule, XPathContext c)Get the next-match handler after the current oneRulegetTemplateRule(NodeInfo node, Mode mode, int min, int max, XPathContext c)Get a template rule whose import precedence is in a particular range.RulegetTemplateRule(NodeInfo node, Mode mode, XPathContext c)Find the template rule registered for a particular node in a specific mode.voidresetHandlers()Set up a new table of handlers.voidsetHandler(Pattern pattern, Template eh, Mode mode, int precedence)Register a handler for a particular pattern.voidsetHandler(Pattern pattern, Template eh, Mode mode, int precedence, double priority)Register a template for a particular pattern.
-
-
-
Method Detail
-
resetHandlers
public void resetHandlers()
Set up a new table of handlers.
-
getDefaultMode
public Mode getDefaultMode()
Get the mode object for the default (unnamed) mode
-
getMode
public Mode getMode(int modeNameCode)
Get the Mode object for a named mode. If there is not one already registered. a new Mode is created.- Parameters:
modeNameCode- The name code of the mode. Supply Mode.DEFAULT_MODE to get the default mode or Mode.ALL_MODES to get the Mode object containing "mode=all" rules- Returns:
- the Mode with this name
-
setHandler
public void setHandler(Pattern pattern, Template eh, Mode mode, int precedence)
Register a handler for a particular pattern. The priority of the rule is the default priority for the pattern, which depends on the syntax of the pattern suppllied.- Parameters:
pattern- A match patterneh- The ElementHandler to be usedmode- The processing modeprecedence- The import precedence (use 0 by default)
-
setHandler
public void setHandler(Pattern pattern, Template eh, Mode mode, int precedence, double priority)
Register a template for a particular pattern.- Parameters:
pattern- Must be a valid Pattern.eh- The Template to be usedmode- The processing mode to which this template appliesprecedence- The import precedence of this rulepriority- The priority of the rule: if an element matches several patterns, the one with highest priority is used- See Also:
Pattern
-
getTemplateRule
public Rule getTemplateRule(NodeInfo node, Mode mode, XPathContext c) throws XPathException
Find the template rule registered for a particular node in a specific mode.- Parameters:
node- The NodeInfo for the relevant nodemode- The processing modec- The controller for this transformation- Returns:
- The template rule that will process this node Returns null if there is no specific handler registered.
- Throws:
XPathException
-
getTemplateRule
public Rule getTemplateRule(NodeInfo node, Mode mode, int min, int max, XPathContext c) throws XPathException
Get a template rule whose import precedence is in a particular range. This is used to support the xsl:apply-imports function- Parameters:
node- The node to be matchedmode- The mode for which a rule is requiredmin- The minimum import precedence that the rule must havemax- The maximum import precedence that the rule must havec- The Controller for the transformation- Returns:
- The template rule to be invoked
- Throws:
XPathException
-
getNextMatchHandler
public Rule getNextMatchHandler(NodeInfo node, Mode mode, Rule currentRule, XPathContext c) throws XPathException
Get the next-match handler after the current one- Parameters:
node- The node to be matchedmode- The processing modecurrentRule- The current template rulec- The dynamic context for the transformation- Returns:
- The template rule to be executed
- Throws:
XPathException
-
-