[Bug 8323] New: Frag: context node for XPath filter dialect ambiguous

http://www.w3.org/Bugs/Public/show_bug.cgi?id=8323

           Summary: Frag: context node for XPath filter dialect ambiguous
           Product: WS-Resource Access
           Version: FPWD
          Platform: PC
               URL: http://lists.w3.org/Archives/Public/public-ws-resource-
                    access/2009Nov/0055.html
        OS/Version: All
            Status: NEW
          Keywords: externalComments
          Severity: normal
          Priority: P2
         Component: Fragment
        AssignedTo: public-ws-resource-access-notifications@w3.org
        ReportedBy: bob@freunds.com
         QAContact: public-ws-resource-access-notifications@w3.org


Reading the latest draft of WS-Eventing, I was wondering what the context
node for an Xpath 1.0 filter really is. The specification says that the
context node is "the root of the event XML". Maybe its just me but does this
mean the root node of the document where the event XML is contained or the
top element of the event XML (which one could also call 'root of the event
XML'). 

Suppose I have got the following event XML:

<swes:SWESEvent xmlns:swes="http://www.opengis.net/swes/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wsa="http://www.w3.org/2005/08/addressing">
  <swes:identifier
codeSpace="http://www.example.org">a87s9c76s</swes:identifier>
  <swes:code>CAPABILITIES_CHANGED</swes:code>
  <swes:service>
    <wsa:Address>http://my.swe-service.com/path</wsa:Address>
  </swes:service>
</swes:SWESEvent>

Now I want to filter via Xpath to get all events with codeSpace
"http://www.opengis.net/swes/1.0#EventCode" and value "CAPBILITIES_CHANGED".

Let us consider the following Xpath expressions:

1. swes:SWESEvent/swes:code='CAPABILITIES_CHANGED' 
2. /swes:SWESEvent/swes:code='CAPABILITIES_CHANGED'
3. swes:code='CAPABILITIES_CHANGED'

I evaluated the expressions with different choice of context node:
- with context node root node: 1+2 are true ... 3 is false
- with context node swes:SWESEvent: 1 is false ... 2+3 are true

-----------

What would happen if the event XML is somehow wrapped already before the
Xpath is applied - or is that not allowed / considered?

Example:

<abc:Wrapper xmlns:swes="http://www.opengis.net/swes/1.0"
xmlns:abc="http://www.example.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wsa="http://www.w3.org/2005/08/addressing">
  <abc:someProperty>
    <swes:SWESEvent>
      <swes:identifier
codeSpace="http://www.example.org">a87s9c76s</swes:identifier>
      <swes:code>CAPABILITIES_CHANGED</swes:code>
      <swes:service>
        <wsa:Address>http://my.swe-service.com/path</wsa:Address>
      </swes:service>
    </swes:SWESEvent>
  </abc:someProperty>
</abc:Wrapper>

Again, I evaluated the expressions with different choice of context node:
- with context node root node: 1+2+3 are false
- with context node abc:someProperty: 1 is true ... 2+3 are false
- with context node swes:SWESEvent: 1+2 are false ... 3 is true

What do you think? 

Best regards,
Johannes Echterhoff


-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.

Received on Tuesday, 17 November 2009 12:19:17 UTC