Menu

#21 WS-Discovery filtering causes an unexpected behavior for action-based filtering

Corrigenda
open
nobody
None
2026-01-05
2021-08-24
David
No

As of DPWS, WS-Eventing needs to support action-based filtering which leverages WS-Discovery prefix-compare (http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/rfc3986). It appears that S1 must be a prefix of S2, and cannot equal to S2. This has consequences for what does and doesn't match and needs to be evaluated. I suggest to clarify the meaning of prefix (including S1 == S2) or change to strcmp0.

Discussion

  • David

    David - 2021-08-24

    Proposal: use http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/strcmp0 as it is straight-forward and covers all filtering needs.

     
    • Stefan Schlichting

      It should be considered to use http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/rfc3986, esp. for discovery of locations where you want to have not one specific bed, but a ward. strcmp0 will not work.

      As far as I know, prefix always includes S1==S2.

       
      • Stefan Schlichting

        See https://en.wikipedia.org/wiki/Substring#Prefix

        Difference between "prefix" and "proper prefix"

         

        Last edit: Stefan Schlichting 2026-01-05
  • David

    David - 2021-08-30

    I don't think that action-based filtering necessarily needs to compare URIs by using http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/rfc3986. Simple string or simple RFC3986 comparison is good enough. For WS-Discovery though, i.e. comparing locations, a consumer can either request strcmp0 or http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/rfc3986 (there is an algorithm option in the probe request).

    I don't see that without any further definition, prefix includes equality. I talked to 3 different people and they all claimed otherwise. By that it can at least be concluded that it is not obvious.

     

Log in to post a comment.

MongoDB Logo MongoDB