<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>6980</bug_id>
          
          <creation_ts>2009-05-29 13:40:34 +0000</creation_ts>
          <short_desc>Eventing: which came first - the filter or the format?</short_desc>
          <delta_ts>2009-08-18 21:18:20 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WS-Resource Access</product>
          <component>Eventing</component>
          <version>FPWD</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>REMIND</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>hasProposal</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Doug Davis">dug</reporter>
          <assigned_to name="Doug Davis">dug</assigned_to>
          
          
          <qa_contact name="notifications mailing list for WS Resource Access">public-ws-resource-access-notifications</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>25361</commentid>
    <comment_count>0</comment_count>
    <who name="Doug Davis">dug</who>
    <bug_when>2009-05-29 13:40:34 +0000</bug_when>
    <thetext>Per the Eventing spec:
When the Delivery Format feature is engaged the formatting of the going events occurs after any filtering. This ensures that regardless of what type of formatting might occur, the same Filter dialect/expression can be used to subset the event stream. 

Key point: formatting is done _after_ filtering.

However, the default filter dialect (xpath), has this:
Context Node: the SOAP Envelope containing the notification.

We have a catch-22 situation here.  We can&apos;t filter until we have an envelope, but we can&apos;t generate an envelope (based on the format) until after we filter.

Filtering over the soap envelope is probably a pretty bad idea to begin with.
Doing the filtering that late in the processing is going to be very costly.
Most pub/sub processors would probably prefer to filter out the list of
events long before the serialization into a soap envelope occurs.

And, the spec is silent on when the envelope is run thru the filter.
Its possible that due to formatting or security, by the time the message hits
the filtering processor, the event data isn&apos;t anything like the original
event XML - which means the xpath may not be able to work properly.

So my proposal is to change the xpath filter so that it operates over the
raw event XML:

Context Node: the root of the event XML.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26026</commentid>
    <comment_count>1</comment_count>
    <who name="Robert Freund">bob</who>
    <bug_when>2009-07-21 21:16:52 +0000</bug_when>
    <thetext>Proposal accepted</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>