Public interface defining a collection of Rule instances (and corresponding matching patterns) plus an implementation
of a matching policy that selects the rules that match a particular pattern of nested elements discovered during
parsing.