Class Rule

java.lang.Object
net.sf.saxon.trans.Rule
All Implemented Interfaces:
Serializable

public final class Rule extends Object implements Serializable
Rule: a template rule, or a strip-space rule used to support the implementation
See Also:
  • Constructor Details

    • Rule

      public Rule(Pattern p, RuleTarget o, int prec, int min, double prio, int seq)
      Create a Rule.
      Parameters:
      p - the pattern that this rule matches
      o - the object invoked by this rule (usually a Template)
      prec - the precedence of the rule
      min - the minumum import precedence for xsl:apply-imports
      prio - the priority of the rule
      seq - a sequence number for ordering of rules
    • Rule

      public Rule(Rule r)
      Copy a rule, including the chain of rules linked to it
      Parameters:
      r - the rule to be copied
  • Method Details

    • getSequence

      public int getSequence()
    • setAction

      public void setAction(RuleTarget action)
    • getAction

      public RuleTarget getAction()
    • getNext

      public Rule getNext()
    • setNext

      public void setNext(Rule next)
    • getPattern

      public Pattern getPattern()
    • getPrecedence

      public int getPrecedence()
    • getMinImportPrecedence

      public int getMinImportPrecedence()
    • getPriority

      public double getPriority()
    • setAlwaysMatches

      public void setAlwaysMatches(boolean matches)
    • isAlwaysMatches

      public boolean isAlwaysMatches()
    • setRank

      public void setRank(int rank)
    • getRank

      public int getRank()
    • compareRank

      public int compareRank(Rule other)
      Rules have an ordering, based on their precedence and priority. This method compares them using the precomputed rank value.
      Parameters:
      other - Another rule whose ordering rank is to be compared with this one
      Returns:
      invalid input: '<'0 if this rule has lower rank, that is if it has lower precedence or equal precedence and lower priority. 0 if the two rules have equal precedence and priority. >0 if this rule has higher rank in precedence/priority order
    • compareComputedRank

      public int compareComputedRank(Rule other)
      Rules have an ordering, based on their precedence and priority.
      Parameters:
      other - Another rule whose ordering rank is to be compared with this one
      Returns:
      invalid input: '<'0 if this rule has lower rank, that is if it has lower precedence or equal precedence and lower priority. 0 if the two rules have equal precedence and priority. >0 if this rule has higher rank in precedence/priority order