-
Improvement
-
Resolution: Done
-
Medium
-
None
-
None
Current predicates do not quite work for complex queries. We have the makings of a DOMQueryPredicate.And in the fact that a query has a set of predicates and DOMQueryPredicate.Not, which is a negation.
Generalize these concepts to have proper algebra and combination of predicates. As Predicate.Not is showing such CompositePredicates do not have a path – hence we'll have two immediate subclasses of DOMQueryPredicate to distinguish these two.
It seems that we have to separate the combination of predicates with differing paths (lookup+match) and same paths (lookup + multiple matches). Target class hierarchy will be ... interesting, but should cover the algebra quite well.
Also update DOMQueryMatcher to handle these changes.