the digester matching rules don't quite work in the way that might be
expected (from the documentation and from the standard wildcard behaviour)
,
1. wildcard "*" can only be used as a prefix. i propose to make this clear
in the documentation.
2. '*' as a pattern doesn't match anything. i propose that it matches
everything (as per wildcard standard rules).
3. there is no way to specify a wildcard suffix. i propose that a wildcard
suffix ? be introduced which matches any one single following tag (for
example a/b/? matches a/b/c and a/b/d but not /a/b/c/d). this is useful
when the type of the parent determines how a child object should be added.
4. An exact match for a tag ensures that no other matches are searched for.
for example, for tag-sequence /a/b/c, if matching sequence "a/b/c" is
registered, then rules with matching sequence "*/c" will not be applied
for that tag. i'd like to see all matching rules applied as per
documentation.
5. once a matching sequence has been found, not more matching sequences
are tried. for example, for tag /a/b/c either the rules for */b/c or */c
will be applied but not both. the documentation states that the longest
matching key will be used (but this does not seem to have been implemented)
. IMHO a better rule is that all matching pattern sequences apply - a nice
simple, intuitive rule.
i am willing to provide a patch (if these changes are acceptable).
- robert