com.icl.saxon

Class Mode

public class Mode extends Object

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

Author: Constructor Summary Mode()

Method Summary
voidaddRule(Pattern p, Object obj, int precedence, double priority)
Add a rule to the Mode.
intgetList(int fingerprint, int type)
Determine which list to use for a given pattern (we must also search the generic list)
intgetNameCode()
Get the name of this mode (for tracing output)
ObjectgetRule(NodeInfo node, Context context)
Get the rule corresponding to a given Node, by finding the best Pattern match.
ObjectgetRule(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.
voidsetNameCode(int nameCode)
Set the name of this mode (for tracing output)

Constructor Detail

Mode

public Mode()

Method Detail

addRule

public void addRule(Pattern p, 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)

getNameCode

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

getRule

public Object getRule(NodeInfo node, Context context)
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).

getRule

public 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. (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).

setNameCode

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