2 Justification
Searching for resources with certain characteristics in a CSE's resource tree is currently done by providing a Filter Criteria in a RETRIEVE or DISCOVERY request. This is defined in TS-0001, 10.2.6 "Discovery-related Procedures".
Filtering is currently very limited:
- Only equality of attributes is generally supported
- "Greater", "less", "earlier", "later" for a small set of common and universal attributes. This makes, for example, querying of <flexContainer> specialization resources with comparison operators other than equality impossible.
- There is no support for filtering using complex attributes.
- Limited to either "AND", "OR", or "XOR" expressions when combining multiple comparisons.
Also, the growing number of Filter Criteria attributes makes it more and more difficult to support in implementations. A generic approach would make this more flexible.
Another problem is that similar functionality is now defined in different parts of the specifications. The <action> and <dependency> resource types defined a similar, though very limited, solution to filter on events. It does make sense to define a solution that could be applied to those cases as well to reduce the overhead in specification work, implementations, and for application development.