# Package net.sf.saxon.trans.rules

This package provides classes to implement matching of patterns for selection of template rules within a mode.

- Interface Summary
  Interface | Description
  --- | ---
  BuiltInRuleSet | Defines a set of built-in template rules (rules for use when no user-defined template rules match a given node)
  RuleTarget | The target of a rule, typically a TemplateRule.

- Class Summary
  Class | Description
  --- | ---
  DeepCopyRuleSet | The built-in rule set introduced in XSLT 3.0, which performs a deep copy of any unmatched node.
  DeepSkipRuleSet | The rule set introduced in XSLT 3.0, which (for any kind of node) simply ignores the node and its descendants.
  FailRuleSet | The built-in rule set introduced in XSLT 3.0, which raises an error when there is no user-supplied template rule that matches a node.
  Rule | Rule: a template rule, or a strip-space rule used to support the implementation
  RuleChain | A chain of rules: actually in this incarnation just a pointer to the first rule in the chain, the others being linked together each to the next.
  RuleManager | RuleManager maintains a set of template rules, one set for each mode
  RuleSearchState | A simple class for holding stateful details of a rule search operation This is a dummy implementation for Saxon-HE which does not optimize searching a rule chain.
  RuleSetWithWarnings | A set of built-in template rules that performs the same action as an underlying set of rules, but with the addition of a warning message saying that no user-defined template rules was found.
  ShallowCopyRuleSet | The built-in rule set introduced in XSLT 3.0, which is effectively an identity template.
  ShallowSkipRuleSet | A built-in set of template rules that ignores the current node and does an apply-templates to its children.
  TextOnlyCopyRuleSet | The built-in rule set used for 1.0 and 2.0, which for document and element nodes does an apply-templates to children, and for text nodes and attribute nodes copies the node.