net.sf.saxon.trans
public class Mode extends Object implements Serializable
Field Summary | |
---|---|
static StructuredQName | ALL_MODES |
static int | DEFAULT_MODE |
static StructuredQName | DEFAULT_MODE_NAME |
static int | NAMED_MODE |
static int | STRIPPER_MODE |
Constructor Summary | |
---|---|
Mode(int usage, StructuredQName modeName)
Default constructor - creates a Mode containing no rules | |
Mode(Mode omniMode, StructuredQName modeName)
Construct a new Mode, copying the contents of an existing Mode
|
Method Summary | |
---|---|
void | addRule(Pattern pattern, RuleTarget action, int precedence, double priority, boolean explicitMode)
Add a rule to the Mode.
|
void | allocatePatternSlots(int slots)
Specify how many slots for local variables are required by a particular pattern |
void | computeRankings()
Compute a rank for each rule, as a combination of the precedence and priority, to allow
rapid comparison. |
void | explainTemplateRules(ExpressionPresenter presenter)
Explain all template rules in this mode by showing their
expression tree represented in XML. |
StructuredQName | getModeName()
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.
|
int | getRecoveryPolicy()
Get the policy for handling recoverable errors. |
Rule | getRule(NodeInfo node, XPathContext context)
Get the rule corresponding to a given Node, by finding the best Pattern match.
|
Rule | getRule(NodeInfo node, XPathContext context, Mode.RuleFilter filter)
Get the rule corresponding to a given Node, by finding the best Pattern match.
|
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. |
void | invertStreamableTemplates(Optimizer opt)
For a streamable mode, invert all the templates to generate streamable code |
boolean | isDefaultMode()
Determine if this is the default mode |
boolean | isEmpty()
Ask whether there are any template rules in this mode
(a mode could exist merely because it is referenced in apply-templates) |
boolean | isStreamable()
Ask whether this mode is streamable |
void | processRules(Mode.RuleAction action)
Walk over all the rules, applying a specified action to each one. |
void | setRecoveryPolicy(int policy)
Set the policy for handling recoverable errrors. |
void | setStreamable(boolean streamable)
Say that this mode is (or is not) streamable |
Parameters: usage one of DEFAULT_MODE, NAMED_MODE, STRIPPER_MODE modeName the name of the mode
Parameters: omniMode the existing mode. May be null, in which case it is not copied modeName the name of the new mode to be created
Parameters: pattern a Pattern action the Object to return from getRule() when the supplied node matches this Pattern precedence the import precedence of the rule priority the explicit or implicit priority of the rule explicitMode true if adding a template rule for a specific (default or named) mode; false if adding a rule because it applies to all modes
Parameters: slots the number of slots needed
Parameters: presenter used to display the expression tree
Returns: the mode name. Null for the default (unnamed) mode
Parameters: node the NodeInfo referring to the node to be matched currentRule the current rule; we are looking for the next match after the current rule context the XPath dynamic evaluation context
Returns: the object (e.g. a NodeHandler) registered for that element, if any (otherwise null).
Returns: the current policy.
Parameters: node the NodeInfo referring to the node to be matched context the XPath dynamic evaluation context
Returns: the best matching rule, if any (otherwise null).
Parameters: node the NodeInfo referring to the node to be matched context the XPath dynamic evaluation context
Returns: the best matching rule, if any (otherwise null).
Parameters: node the NodeInfo referring to the node to be matched min the minimum import precedence max the maximum import precedence context the XPath dynamic evaluation context
Returns: the Rule registered for that node, if any (otherwise null).
Returns: true if this is the default (unnamed) mode
Returns: true if no template rules exist in this mode
Returns: true if this mode is streamable
Parameters: action an action that is to be applied to all the rules in this Mode
Parameters: policy the recovery policy to be used. The options are RECOVER_SILENTLY, RECOVER_WITH_WARNINGS, or DO_NOT_RECOVER.
Parameters: streamable true if this mode is a streamable mode