WWW/2002/ws/ra/edcopies wseventing.html,1.98,1.99 wseventing.xml,1.90,1.91

Update of /w3ccvs/WWW/2002/ws/ra/edcopies
In directory hutz:/tmp/cvs-serv11147

Modified Files:
	wseventing.html wseventing.xml 
Log Message:
7478


Index: wseventing.xml
===================================================================
RCS file: /w3ccvs/WWW/2002/ws/ra/edcopies/wseventing.xml,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -d -r1.90 -r1.91
--- wseventing.xml	6 Oct 2009 12:29:42 -0000	1.90
+++ wseventing.xml	6 Oct 2009 16:20:31 -0000	1.91
@@ -834,7 +834,11 @@
     &lt;wse:EndTo&gt; <emph>endpoint-reference</emph> &lt;/wse:EndTo&gt; ?
     &lt;wse:Delivery ...&gt; <emph>xs:any</emph>* &lt;/wse:Delivery&gt;
     &lt;wse:Format Name="<emph>xs:anyURI</emph>"? &gt; <emph>xs:any</emph>* &lt;/wse:Format&gt; ?
-    &lt;wse:Expires&gt; (<emph>xs:dateTime</emph> | <emph>xs:duration</emph>) &lt;/wse:Expires&gt; ?
+    &lt;wse:Expires min="(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)"?
+                 max="(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)"?
+                 exact="<emph>xs:boolean</emph>"? ...&gt;
+      (<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)
+    &lt;/wse:Expires&gt; ?
     &lt;wse:Filter Dialect="<emph>xs:anyURI</emph>"? ...&gt; <emph>xs:any</emph>* &lt;/wse:Filter&gt; ?
     <emph>xs:any</emph>*
   &lt;/wse:Subscribe&gt;</eg>
@@ -933,42 +937,52 @@
       <label> <kw>[Body]</kw>/wse:Subscribe/wse:Expires </label>
       <def>
        <p>
-        Requested expiration time for the subscription. (No
-        implied value.) The event source defines the actual
-        expiration and is not constrained to use a time less or
-        greater than the requested expiration. The expiration time
-        MAY be a specific time or a duration from the subscription's
-        creation time. Both specific times and durations are
-        interpreted based on the event source's clock.
+        This OPTIONAL element can be used by the Subscriber to indicate the 
+        expiration time of the requested Subscription. The value of this 
+        element indicates the desired expiration time for the subscription. 
+        The implied default is indefinite (no expiry). The value of this 
+        element MUST be between the values of the @min and @max attributes 
+        inclusive. If the request is malformed, the event source
+        MUST generate a wse:InvalidExpirationTime fault.
        </p>
 
        <p>
-        If this element does not appear, then the request is for a
-        subscription that will not expire. That is, the subscriber is
-        requesting the event source to create a subscription with an
-        indefinite lifetime. If the event source grants such a
-        subscription, it MAY be terminated by the subscriber using an
-        Unsubscribe request, or it MAY be terminated by the event
-        source at any time for reasons such as connection
-        termination, resource constraints, or system shut-down.
+        If the wse:Expires element is present and the event source is not 
+        able to grant an expiry time within range indicated by the @min and 
+        @max attribute values, it MUST generate a 
+        wse:ExpirationTimeExceeded fault. 
        </p>
+      </def>
+     </gitem>
 
+     <gitem>
+      <label> <kw>[Body]</kw>/wse:Subscribe/wse:Expires@min </label>
+      <def>
        <p>
-        If the expiration time is either a zero duration or a
-        specific time that occurs in the past according to the event
-        source, then the request MUST fail, and the event source MUST
-        generate a wse:InvalidExpirationTime fault indicating that an
-        invalid expiration time was requested.
+        The implied default is PT0S. This specifies the minimum expiration 
+        time that the event subscriber is willing to accept.
        </p>
+      </def>
+     </gitem>
 
+     <gitem>
+      <label> <kw>[Body]</kw>/wse:Subscribe/wse:Expires@max </label>
+      <def>
        <p>
-        Some event sources might not have a "wall time" clock
-        available, and so are only able to accept durations as
-        expirations. If such a source receives a Subscribe request
-        containing a specific time expiration, then the request MAY
-        fail; if so, the event source MUST generate a
-        wse:UnsupportedExpirationType fault indicating that an
-        unsupported expiration type was requested.
+        The implied default is indefinite (no expiry). This specifies the 
+        maximum expiration time that the event subscriber is willing to accept.
+       </p>
+      </def>
+     </gitem>
+
+     <gitem>
+      <label> <kw>[Body]</kw>/wse:Subscribe/wse:Expires@exact </label>
+      <def>
+       <p>
+        The default value is "false" in which case this attribute has no 
+        effect. If this attribute value is "true" both @min and @max 
+        attributes MUST be ignored and are treated as if they had the same 
+        value as the wse:Expires element.
        </p>
       </def>
      </gitem>
@@ -1119,7 +1133,9 @@
     &lt;wse:SubscriptionManager&gt;
       <emph>wsa:EndpointReferenceType</emph>
     &lt;/wse:SubscriptionManager&gt;
-    &lt;wse:Expires&gt;(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)&lt;/wse:Expires&gt;
+    &lt;wse:GrantedExpires&gt;
+      (<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)
+    &lt;/wse:GrantedExpires&gt; ?
     <emph>xs:any</emph>*
   &lt;/wse:SubscribeResponse&gt;</eg>
     </example>
@@ -1147,9 +1163,14 @@
      </gitem>
 
      <gitem>
-      <label> <kw>[Body]</kw>/wse:SubscribeResponse/wse:Expires </label>
+      <label> <kw>[Body]</kw>/wse:SubscribeResponse/wse:GrantedExpires </label>
       <def>
        <p>
+        The value of this OPTIONAL element indicates the expiration time (or 
+        duration) granted by the event source. If this element is missing the 
+        granted expiration time is indefinite.
+       </p>
+       <p>
         The expiration time assigned by the event source. The
         expiration time MAY be either an absolute time or a duration
         but SHOULD be of the same type as the requested expiration
@@ -1347,7 +1368,11 @@
 
 <kw>[Body]</kw>
   &lt;wse:Renew ...&gt;
-    &lt;wse:Expires&gt;(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)&lt;/wse:Expires&gt; ?
+    &lt;wse:Expires min="(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)"?
+                 max="(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)"?
+                 exact="<emph>xs:boolean</emph>"? ...&gt;
+      (<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)
+    &lt;/wse:Expires&gt; ?
     <emph>xs:any</emph>*
   &lt;/wse:Renew&gt;</eg>
     </example>
@@ -1377,7 +1402,9 @@
 
 <kw>[Body]</kw>
   &lt;wse:RenewResponse ...&gt;
-    &lt;wse:Expires&gt;(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)&lt;/wse:Expires&gt; ?
+    &lt;wse:GrantedExpires&gt;
+      (<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)
+    &lt;/wse:GrantedExpires&gt; ?
     <emph>xs:any</emph>*
   &lt;/wse:RenewResponse&gt;</eg>
     </example>
@@ -1390,7 +1417,7 @@
 
     <glist>
      <gitem>
-      <label> <kw>[Body]</kw>/wse:RenewResponse/wse:Expires </label>
+      <label> <kw>[Body]</kw>/wse:RenewResponse/wse:GrantedExpires </label>
       <def>
        <p>
         If the requested expiration is a duration, then the
@@ -1533,7 +1560,9 @@
 
 <kw>[Body]</kw>
   &lt;wse:GetStatusResponse ...&gt;
-    &lt;wse:Expires&gt;(<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)&lt;/wse:Expires&gt; ?
+    &lt;wse:GrantedExpires&gt;
+      (<emph>xs:dateTime</emph> | <emph>xs:duration</emph>)
+    &lt;/wse:GrantedExpires&gt; ?
     <emph>xs:any</emph>*
   &lt;/wse:GetStatusResponse&gt;</eg>
     </example>
@@ -2106,9 +2135,8 @@
     <head>InvalidExpirationTime</head>
 
     <p>
-     This fault is generated when a Subscribe request specifies an
-     expiration time that is in the past or an expiration duration of
-     zero.
+     This fault is generated when a request specifies an
+     expiration that is malformed.
     </p>
 
     <table border="1">
@@ -2136,6 +2164,39 @@
     </table>
    </div2>
 
+   <div2 id="ExpirationTimeExceeded">
+    <head>ExpirationTimeExceeded</head>
+
+    <p>
+     This fault is generated when a request specifies an
+     expiration that is not within the min/max range.
+    </p>
+
+    <table border="1">
+     <tbody>
+      <tr>
+       <td><kw>[Code]</kw></td>
+       <td>s12:Sender</td>
+      </tr>
+
+      <tr>
+       <td><kw>[Subcode]</kw></td>
+       <td>wse:InvalidExpirationTime</td>
+      </tr>
+
+      <tr>
+       <td><kw>[Reason]</kw></td>
+       <td>The expiration time requested is not within the min/max range.</td>
+      </tr>
+
+      <tr>
+       <td><kw>[Detail]</kw></td>
+       <td><emph>none</emph></td>
+      </tr>
+     </tbody>
+    </table>
+   </div2>
+
    <div2 id="UnsupportedExpirationType">
     <head>UnsupportedExpirationType</head>
 
@@ -3565,11 +3626,28 @@
       &lt;xs:minInclusive value="P0Y0M0DT0H0M0S" /&gt;
     &lt;/xs:restriction&gt;
   &lt;/xs:simpleType&gt;
- 
-  &lt;xs:simpleType name="ExpirationType"&gt;
-      &lt;xs:union memberTypes="xs:dateTime 
-                tns:NonNegativeDurationType" /&gt;
-  &lt;/xs:simpleType&gt;
+
+  &lt;xs:simpleType name="DurationDateTime">
+      &lt;xs:union memberTypes="xs:dateTime tns:NonNegativeDurationType" />
+  &lt;/xs:simpleType>
+
+  &lt;xs:complexType name="MiniExpirationType">
+    &lt;xs:simpleContent>
+      &lt;xs:extension base="tns:DurationDateTime">
+        &lt;xs:anyAttribute namespace="##other" processContents="lax"/>
+      &lt;/xs:extension>
+    &lt;/xs:simpleContent>
+  &lt;/xs:complexType>
+
+  &lt;xs:complexType name="ExpirationType">
+    &lt;xs:simpleContent>
+      &lt;xs:extension base="tns:MiniExpirationType">
+        &lt;xs:attribute name="min" type="tns:DurationDateTime" use="optional"/>
+        &lt;xs:attribute name="max" type="tns:DurationDateTime" use="optional"/>
+        &lt;xs:anyAttribute namespace="##other" processContents="lax"/>
+      &lt;/xs:extension>
+    &lt;/xs:simpleContent>
+  &lt;/xs:complexType>
  
   &lt;xs:complexType name="FilterType" mixed="true"&gt;
     &lt;xs:sequence&gt;
@@ -4483,6 +4561,13 @@
        <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6721">6721</loc>
       </td>
      </tr>
+     <tr>
+      <td> 2009/10/06 </td>
+      <td> DD </td>
+      <td> Added resolution of issue 
+       <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=7478">7478</loc>
+      </td>
+     </tr>
     </tbody>
    </table>
   </div1>

Index: wseventing.html
===================================================================
RCS file: /w3ccvs/WWW/2002/ws/ra/edcopies/wseventing.html,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -d -r1.98 -r1.99
--- wseventing.html	6 Oct 2009 12:29:42 -0000	1.98
+++ wseventing.html	6 Oct 2009 16:20:31 -0000	1.99
@@ -62,34 +62,35 @@
 6 <a href="#Faults">Faults</a><br/>
 &nbsp;&nbsp;&nbsp;6.1 <a href="#FaultDetailRetryElement">Fault Detail RetryAfter Element</a><br/>
 &nbsp;&nbsp;&nbsp;6.2 <a href="#InvalidExpirationTime">InvalidExpirationTime</a><br/>
-&nbsp;&nbsp;&nbsp;6.3 <a href="#UnsupportedExpirationType">UnsupportedExpirationType</a><br/>
-&nbsp;&nbsp;&nbsp;6.4 <a href="#FilteringNotSupported">FilteringNotSupported</a><br/>
-&nbsp;&nbsp;&nbsp;6.5 <a href="#FilteringRequestedUnavailable">FilteringRequestedUnavailable</a><br/>
-&nbsp;&nbsp;&nbsp;6.6 <a href="#DeliveryFormatRequestedUnavailable">DeliveryFormatRequestUnavailable</a><br/>
-&nbsp;&nbsp;&nbsp;6.7 <a href="#EmptyFilter">EmptyFilter</a><br/>
-&nbsp;&nbsp;&nbsp;6.8 <a href="#UnusableEPR">UnusableEPR</a><br/>
-&nbsp;&nbsp;&nbsp;6.9 <a href="#UnknownSubscription">UnknownSubscription</a><br/>
+&nbsp;&nbsp;&nbsp;6.3 <a href="#ExpirationTimeExceeded">ExpirationTimeExceeded</a><br/>
+&nbsp;&nbsp;&nbsp;6.4 <a href="#UnsupportedExpirationType">UnsupportedExpirationType</a><br/>
+&nbsp;&nbsp;&nbsp;6.5 <a href="#FilteringNotSupported">FilteringNotSupported</a><br/>
+&nbsp;&nbsp;&nbsp;6.6 <a href="#FilteringRequestedUnavailable">FilteringRequestedUnavailable</a><br/>
+&nbsp;&nbsp;&nbsp;6.7 <a href="#DeliveryFormatRequestedUnavailable">DeliveryFormatRequestUnavailable</a><br/>
+&nbsp;&nbsp;&nbsp;6.8 <a href="#EmptyFilter">EmptyFilter</a><br/>
+&nbsp;&nbsp;&nbsp;6.9 <a href="#UnusableEPR">UnusableEPR</a><br/>
+&nbsp;&nbsp;&nbsp;6.10 <a href="#UnknownSubscription">UnknownSubscription</a><br/>
 7 <a href="#Security">Security Considerations</a><br/>
 &nbsp;&nbsp;&nbsp;7.1 <a href="#MessageSecurity">Message Security</a><br/>
 &nbsp;&nbsp;&nbsp;7.2 <a href="#AccessControl">Access Control</a><br/>
 8 <a href="#ImplConsideration">Implementation Considerations</a><br/>
 9 <a href="#metadata">WS-Eventing Metadata</a><br/>
-&nbsp;&nbsp;&nbsp;9.1 <a href="#iddiv2_1_2075">EventSource Assertion</a><br/>
-&nbsp;&nbsp;&nbsp;9.2 <a href="#iddiv2_1_2142">SubscriptionManager Assertion</a><br/>
+&nbsp;&nbsp;&nbsp;9.1 <a href="#iddiv2_1_2177">EventSource Assertion</a><br/>
+&nbsp;&nbsp;&nbsp;9.2 <a href="#iddiv2_1_2244">SubscriptionManager Assertion</a><br/>
 10 <a href="#acks">Acknowledgements</a><br/>
 11 <a href="#refs">References</a><br/>
-&nbsp;&nbsp;&nbsp;11.1 <a href="#iddiv2_1_2213">Normative References</a><br/>
-&nbsp;&nbsp;&nbsp;11.2 <a href="#iddiv2_1_2334">Informative References</a><br/>
+&nbsp;&nbsp;&nbsp;11.1 <a href="#iddiv2_1_2315">Normative References</a><br/>
+&nbsp;&nbsp;&nbsp;11.2 <a href="#iddiv2_1_2436">Informative References</a><br/>
 </p>
 <h3><a name="appendices" id="appendices"/>Appendices</h3><p class="toc">A <a href="#Advertising">Advertising Event Information</a><br/>
 &nbsp;&nbsp;&nbsp;A.1 <a href="#ETypes">Event Types &amp; Event Descriptions</a><br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A.1.1 <a href="#iddiv3_1_2640">Retrieving Event Descriptions</a><br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A.1.2 <a href="#iddiv3_1_2656">Bindings for Event Descriptions</a><br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A.1.2.1 <a href="#iddiv4_1_2661">Binding for Unwrapped Notifications</a><br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A.1.2.2 <a href="#iddiv4_1_2679">Binding for Wrapped Notifications</a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A.1.1 <a href="#iddiv3_1_2742">Retrieving Event Descriptions</a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A.1.2 <a href="#iddiv3_1_2758">Bindings for Event Descriptions</a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A.1.2.1 <a href="#iddiv4_1_2763">Binding for Unwrapped Notifications</a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A.1.2.2 <a href="#iddiv4_1_2781">Binding for Wrapped Notifications</a><br/>
 &nbsp;&nbsp;&nbsp;A.2 <a href="#NWSDL">Notification WSDLs</a><br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A.2.1 <a href="#iddiv3_1_2706">Retrieving Notification WSDLs</a><br/>
-&nbsp;&nbsp;&nbsp;A.3 <a href="#iddiv2_1_2722">Multiple Event Information Metadata Sections</a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A.2.1 <a href="#iddiv3_1_2808">Retrieving Notification WSDLs</a><br/>
+&nbsp;&nbsp;&nbsp;A.3 <a href="#iddiv2_1_2824">Multiple Event Information Metadata Sections</a><br/>
 B <a href="#Schema">XML Schema</a><br/>
 C <a href="#WSDL">WSDL</a><br/>
 D <a href="#wrappedWSDL">WSDL for Standard Wrapped Delivery</a><br/>
@@ -488,7 +489,11 @@
     &lt;wse:EndTo&gt; <em>endpoint-reference</em> &lt;/wse:EndTo&gt; ?
     &lt;wse:Delivery ...&gt; <em>xs:any</em>* &lt;/wse:Delivery&gt;
     &lt;wse:Format Name="<em>xs:anyURI</em>"? &gt; <em>xs:any</em>* &lt;/wse:Format&gt; ?
-    &lt;wse:Expires&gt; (<em>xs:dateTime</em> | <em>xs:duration</em>) &lt;/wse:Expires&gt; ?
+    &lt;wse:Expires min="(<em>xs:dateTime</em> | <em>xs:duration</em>)"?
+                 max="(<em>xs:dateTime</em> | <em>xs:duration</em>)"?
+                 exact="<em>xs:boolean</em>"? ...&gt;
+      (<em>xs:dateTime</em> | <em>xs:duration</em>)
+    &lt;/wse:Expires&gt; ?
     &lt;wse:Filter Dialect="<em>xs:anyURI</em>"? ...&gt; <em>xs:any</em>* &lt;/wse:Filter&gt; ?
     <em>xs:any</em>*
   &lt;/wse:Subscribe&gt;</pre></div></div><p>
@@ -533,36 +538,29 @@
        </p></dd><dt class="label"><b>[Body]</b>/wse:Subscribe/wse:Format@Name="http://www.w3.org/2009/09/ws-evt/DeliveryFormats/Wrap" </dt><dd><p>
         Indicate the wrapped event delivery format.
        </p></dd><dt class="label"><b>[Body]</b>/wse:Subscribe/wse:Expires </dt><dd><p>
-        Requested expiration time for the subscription. (No
-        implied value.) The event source defines the actual
-        expiration and is not constrained to use a time less or
-        greater than the requested expiration. The expiration time
-        MAY be a specific time or a duration from the subscription's
-        creation time. Both specific times and durations are
-        interpreted based on the event source's clock.
-       </p><p>
-        If this element does not appear, then the request is for a
-        subscription that will not expire. That is, the subscriber is
-        requesting the event source to create a subscription with an
-        indefinite lifetime. If the event source grants such a
-        subscription, it MAY be terminated by the subscriber using an
-        Unsubscribe request, or it MAY be terminated by the event
-        source at any time for reasons such as connection
-        termination, resource constraints, or system shut-down.
-       </p><p>
-        If the expiration time is either a zero duration or a
-        specific time that occurs in the past according to the event
-        source, then the request MUST fail, and the event source MUST
-        generate a wse:InvalidExpirationTime fault indicating that an
-        invalid expiration time was requested.
+        This OPTIONAL element can be used by the Subscriber to indicate the 
+        expiration time of the requested Subscription. The value of this 
+        element indicates the desired expiration time for the subscription. 
+        The implied default is indefinite (no expiry). The value of this 
+        element MUST be between the values of the @min and @max attributes 
+        inclusive. If the request is malformed, the event source
+        MUST generate a wse:InvalidExpirationTime fault.
        </p><p>
-        Some event sources might not have a "wall time" clock
-        available, and so are only able to accept durations as
-        expirations. If such a source receives a Subscribe request
-        containing a specific time expiration, then the request MAY
-        fail; if so, the event source MUST generate a
-        wse:UnsupportedExpirationType fault indicating that an
-        unsupported expiration type was requested.
+        If the wse:Expires element is present and the event source is not 
+        able to grant an expiry time within range indicated by the @min and 
+        @max attribute values, it MUST generate a 
+        wse:ExpirationTimeExceeded fault. 
+       </p></dd><dt class="label"><b>[Body]</b>/wse:Subscribe/wse:Expires@min </dt><dd><p>
+        The implied default is PT0S. This specifies the minimum expiration 
+        time that the event subscriber is willing to accept.
+       </p></dd><dt class="label"><b>[Body]</b>/wse:Subscribe/wse:Expires@max </dt><dd><p>
+        The implied default is indefinite (no expiry). This specifies the 
+        maximum expiration time that the event subscriber is willing to accept.
+       </p></dd><dt class="label"><b>[Body]</b>/wse:Subscribe/wse:Expires@exact </dt><dd><p>
+        The default value is "false" in which case this attribute has no 
+        effect. If this attribute value is "true" both @min and @max 
+        attributes MUST be ignored and are treated as if they had the same 
+        value as the wse:Expires element.
        </p></dd><dt class="label"><b>[Body]</b>/wse:Subscribe/wse:Filter </dt><dd><p>
         A Boolean expression in some dialect, either as a string
         or as an XML fragment (see 
@@ -645,7 +643,9 @@
     &lt;wse:SubscriptionManager&gt;
       <em>wsa:EndpointReferenceType</em>
     &lt;/wse:SubscriptionManager&gt;
-    &lt;wse:Expires&gt;(<em>xs:dateTime</em> | <em>xs:duration</em>)&lt;/wse:Expires&gt;
+    &lt;wse:GrantedExpires&gt;
+      (<em>xs:dateTime</em> | <em>xs:duration</em>)
+    &lt;/wse:GrantedExpires&gt; ?
     <em>xs:any</em>*
   &lt;/wse:SubscribeResponse&gt;</pre></div></div><p>
      The following describes additional, normative constraints on
@@ -657,7 +657,11 @@
         single event source to address a single Web service and use a
         reference parameter to distinguish among the active
         subscriptions. 
-       </p></dd><dt class="label"><b>[Body]</b>/wse:SubscribeResponse/wse:Expires </dt><dd><p>
+       </p></dd><dt class="label"><b>[Body]</b>/wse:SubscribeResponse/wse:GrantedExpires </dt><dd><p>
+        The value of this OPTIONAL element indicates the expiration time (or 
+        duration) granted by the event source. If this element is missing the 
+        granted expiration time is indefinite.
+       </p><p>
         The expiration time assigned by the event source. The
         expiration time MAY be either an absolute time or a duration
         but SHOULD be of the same type as the requested expiration
@@ -812,7 +816,11 @@
 
 <b>[Body]</b>
   &lt;wse:Renew ...&gt;
-    &lt;wse:Expires&gt;(<em>xs:dateTime</em> | <em>xs:duration</em>)&lt;/wse:Expires&gt; ?
+    &lt;wse:Expires min="(<em>xs:dateTime</em> | <em>xs:duration</em>)"?
+                 max="(<em>xs:dateTime</em> | <em>xs:duration</em>)"?
+                 exact="<em>xs:boolean</em>"? ...&gt;
+      (<em>xs:dateTime</em> | <em>xs:duration</em>)
+    &lt;/wse:Expires&gt; ?
     <em>xs:any</em>*
   &lt;/wse:Renew&gt;</pre></div></div><p>
      Components of the outline listed above are additionally
@@ -832,13 +840,15 @@
 
 <b>[Body]</b>
   &lt;wse:RenewResponse ...&gt;
-    &lt;wse:Expires&gt;(<em>xs:dateTime</em> | <em>xs:duration</em>)&lt;/wse:Expires&gt; ?
+    &lt;wse:GrantedExpires&gt;
+      (<em>xs:dateTime</em> | <em>xs:duration</em>)
+    &lt;/wse:GrantedExpires&gt; ?
     <em>xs:any</em>*
   &lt;/wse:RenewResponse&gt;</pre></div></div><p>
      Components of the outline listed above are constrained as for
      a response to a subscribe request (see <a href="#Subscribe"><b>4.1 Subscribe</b></a>) 
      with the following addition(s):
-    </p><dl><dt class="label"><b>[Body]</b>/wse:RenewResponse/wse:Expires </dt><dd><p>
+    </p><dl><dt class="label"><b>[Body]</b>/wse:RenewResponse/wse:GrantedExpires </dt><dd><p>
         If the requested expiration is a duration, then the
         implied start of that duration is the time when the
         subscription manager starts processing the Renew request.
@@ -938,7 +948,9 @@
 
 <b>[Body]</b>
   &lt;wse:GetStatusResponse ...&gt;
-    &lt;wse:Expires&gt;(<em>xs:dateTime</em> | <em>xs:duration</em>)&lt;/wse:Expires&gt; ?
+    &lt;wse:GrantedExpires&gt;
+      (<em>xs:dateTime</em> | <em>xs:duration</em>)
+    &lt;/wse:GrantedExpires&gt; ?
     <em>xs:any</em>*
   &lt;/wse:GetStatusResponse&gt;</pre></div></div><p>
      If the subscription is not active, the request MUST fail and the 
@@ -1304,21 +1316,24 @@
         Optional extensibility attributes that do not affect processing.
        </p></dd></dl></div><div class="div2">
 <h3><a name="InvalidExpirationTime" id="InvalidExpirationTime"/>6.2 InvalidExpirationTime</h3><p>
-     This fault is generated when a Subscribe request specifies an
-     expiration time that is in the past or an expiration duration of
-     zero.
+     This fault is generated when a request specifies an
+     expiration that is malformed.
     </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:InvalidExpirationTime</td></tr><tr><td><b>[Reason]</b></td><td>The expiration time requested is invalid.</td></tr><tr><td><b>[Detail]</b></td><td><em>none</em></td></tr></tbody></table></div><div class="div2">
-<h3><a name="UnsupportedExpirationType" id="UnsupportedExpirationType"/>6.3 UnsupportedExpirationType</h3><p>
+<h3><a name="ExpirationTimeExceeded" id="ExpirationTimeExceeded"/>6.3 ExpirationTimeExceeded</h3><p>
+     This fault is generated when a request specifies an
+     expiration that is not within the min/max range.
+    </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:InvalidExpirationTime</td></tr><tr><td><b>[Reason]</b></td><td>The expiration time requested is not within the min/max range.</td></tr><tr><td><b>[Detail]</b></td><td><em>none</em></td></tr></tbody></table></div><div class="div2">
+<h3><a name="UnsupportedExpirationType" id="UnsupportedExpirationType"/>6.4 UnsupportedExpirationType</h3><p>
      This fault is generated when a Subscribe request specifies an
      expiration time and the event source is only capable of accepting
      expiration durations; for instance, if the event source does not
      have access to absolute time.
     </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:UnsupportedExpirationType</td></tr><tr><td><b>[Reason]</b></td><td>Only expiration durations are supported.</td></tr><tr><td><b>[Detail]</b></td><td><em>none</em></td></tr></tbody></table></div><div class="div2">
-<h3><a name="FilteringNotSupported" id="FilteringNotSupported"/>6.4 FilteringNotSupported</h3><p>
+<h3><a name="FilteringNotSupported" id="FilteringNotSupported"/>6.5 FilteringNotSupported</h3><p>
      This fault is generated when a Subscribe request contains a filter
      and the event source does not support filtering.
     </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:FilteringNotSupported</td></tr><tr><td><b>[Reason]</b></td><td>Filtering is not supported.</td></tr><tr><td><b>[Detail]</b></td><td><em>none</em></td></tr></tbody></table></div><div class="div2">
-<h3><a name="FilteringRequestedUnavailable" id="FilteringRequestedUnavailable"/>6.5 FilteringRequestedUnavailable</h3><p>
+<h3><a name="FilteringRequestedUnavailable" id="FilteringRequestedUnavailable"/>6.6 FilteringRequestedUnavailable</h3><p>
      This fault is generated when a Subscribe request specifies a filter
      dialect that the event source does not support. Optionally, this
      fault MAY contain a list of supported filter dialect IRIs in the
@@ -1327,7 +1342,7 @@
         &lt;wse:SupportedDialect&gt; + 
         <br/><em>Optional; one per filter dialect supported by the
         receiver</em></td></tr></tbody></table></div><div class="div2">
-<h3><a name="DeliveryFormatRequestedUnavailable" id="DeliveryFormatRequestedUnavailable"/>6.6 DeliveryFormatRequestUnavailable</h3><p>
+<h3><a name="DeliveryFormatRequestedUnavailable" id="DeliveryFormatRequestedUnavailable"/>6.7 DeliveryFormatRequestUnavailable</h3><p>
      This fault is generated when a Subscribe request specifies a delivery 
      format that is not supported by the event source. Optionally, this 
      fault MAY contain a list of supported delivery format IRIs in the 
@@ -1335,16 +1350,16 @@
     </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:DeliveryFormatRequestedUnavailable</td></tr><tr><td><b>[Reason]</b></td><td>The requested delivery format is not supported.</td></tr><tr><td><b>[Detail]</b></td><td>
         &lt;wse:SupportedDeliveryFormat&gt; +
         <br/><em> Optional, one per delivery format supported by the receiver.</em></td></tr></tbody></table></div><div class="div2">
-<h3><a name="EmptyFilter" id="EmptyFilter"/>6.7 EmptyFilter</h3><p>
+<h3><a name="EmptyFilter" id="EmptyFilter"/>6.8 EmptyFilter</h3><p>
      This fault MAY be generated when an Event Source detects a 
      wse:Subscribe request containing a filter that, for whatever 
      reason, will never evaluate to true.
     </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:EmptyFilter</td></tr><tr><td><b>[Reason]</b></td><td>The wse:Filter would result in zero Notifications.</td></tr><tr><td><b>[Detail]</b></td><td><em> The wse:Filter value. </em></td></tr></tbody></table></div><div class="div2">
-<h3><a name="UnusableEPR" id="UnusableEPR"/>6.8 UnusableEPR</h3><p>
+<h3><a name="UnusableEPR" id="UnusableEPR"/>6.9 UnusableEPR</h3><p>
      This fault MAY be generated when an Event Source detects 
      that the wse:NotifyTo or wse:EndTo EPR is unusable.
     </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:UnusableEPR</td></tr><tr><td><b>[Reason]</b></td><td>An EPR in the Subscribe request message is unusable.</td></tr><tr><td><b>[Detail]</b></td><td><em> The specific EPR that generated the error and why. </em></td></tr></tbody></table></div><div class="div2">
-<h3><a name="UnknownSubscription" id="UnknownSubscription"/>6.9 UnknownSubscription</h3><p>
+<h3><a name="UnknownSubscription" id="UnknownSubscription"/>6.10 UnknownSubscription</h3><p>
      This fault is generated when a request specifies a subscription
      that is not active.
     </p><table border="1"><tbody><tr><td><b>[Code]</b></td><td>s12:Sender</td></tr><tr><td><b>[Subcode]</b></td><td>wse:UnknownSubscription</td></tr><tr><td><b>[Reason]</b></td><td>the subscription is not active.</td></tr><tr><td><b>[Detail]</b></td><td><em>none</em></td></tr></tbody></table></div></div><div class="div1">
@@ -1477,7 +1492,7 @@
     indicate a particular security mechanism used to protect the
     WS-Eventing operations supported by this endpoint.
    </p><div class="div2">
-<h3><a name="iddiv2_1_2075" id="iddiv2_1_2075"/>9.1 EventSource Assertion</h3><p>
+<h3><a name="iddiv2_1_2177" id="iddiv2_1_2177"/>9.1 EventSource Assertion</h3><p>
      The mechanism for indicating that a binding or endpoint conforms to the
      WS-Eventing specification's definition of an Event Source 
      is through the use of the Web Services
@@ -1535,7 +1550,7 @@
          When present, this parameter indicates support for the specified 
          event delivery format  Name URI.
         </p></dd></dl></div><div class="div2">
-<h3><a name="iddiv2_1_2142" id="iddiv2_1_2142"/>9.2 SubscriptionManager Assertion</h3><p>
+<h3><a name="iddiv2_1_2244" id="iddiv2_1_2244"/>9.2 SubscriptionManager Assertion</h3><p>
      The mechanism for indicating that a binding or endpoint conforms to the
      WS-Eventing specification's definition of a Subscription Manager 
      is through the use of the Web Services
@@ -1619,7 +1634,7 @@
       Yves Lafon (W3C).
    </p></div><div class="div1">
 <h2><a name="refs" id="refs"/>11 References</h2><div class="div2">
-<h3><a name="iddiv2_1_2213" id="iddiv2_1_2213"/>11.1 Normative References</h3><dl><dt class="label"><a name="RFC2119" id="RFC2119"/>RFC 2119</dt><dd><a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>
+<h3><a name="iddiv2_1_2315" id="iddiv2_1_2315"/>11.1 Normative References</h3><dl><dt class="label"><a name="RFC2119" id="RFC2119"/>RFC 2119</dt><dd><a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>
         Key words for use in RFCs to Indicate Requirement Levels
        </cite></a>
        , S. Bradner, Author.
@@ -1666,7 +1681,7 @@
        , A. Vedamuthu, et al., Editors.
        World Wide Web Consortium (W3C), 4 September 2007.
       Available at <a href="http://www.w3.org/TR/ws-policy-attach">http://www.w3.org/TR/ws-policy-attach</a>.</dd></dl></div><div class="div2">
-<h3><a name="iddiv2_1_2334" id="iddiv2_1_2334"/>11.2 Informative References</h3><dl><dt class="label"><a name="WSMC" id="WSMC"/>WS-MakeConnection</dt><dd><a href="http://docs.oasis-open.org/ws-rx/wsmc/v1.1/wsmc.doc"><cite>
+<h3><a name="iddiv2_1_2436" id="iddiv2_1_2436"/>11.2 Informative References</h3><dl><dt class="label"><a name="WSMC" id="WSMC"/>WS-MakeConnection</dt><dd><a href="http://docs.oasis-open.org/ws-rx/wsmc/v1.1/wsmc.doc"><cite>
         OASIS Standard, "Web Services Make Connection (WS-MakeConnection) 1.1"
         Web Services Make Connection (WS-MakeConnection)
        </cite></a>
@@ -1856,7 +1871,7 @@
      serve as a description of the Event Type used in 
      <a href="#Table1">Example 2-1</a> and <a href="#EDExample">Example A-1</a>. 
     </p><div class="exampleOuter">
-<div class="exampleHeader"><a name="idexample_1_2630" id="idexample_1_2630"/>Example A-2: EventDescriptions</div><div class="exampleInner"><pre>(01) &lt;wse:EventDescriptions 
+<div class="exampleHeader"><a name="idexample_1_2732" id="idexample_1_2732"/>Example A-2: EventDescriptions</div><div class="exampleInner"><pre>(01) &lt;wse:EventDescriptions 
 (02)        targetNamespace="http://www.example.org/oceanwatch/notifications"
 (03)        xmlns:wse="http://www.w3.org/2009/09/ws-evt"
 (04)        xmlns:ow="http://www.example.org/oceanwatch"&gt;
@@ -1876,7 +1891,7 @@
      GED for this Event Type is defined on line (08) as being of type 
      "{http://www.example.org/oceanwatch}:WindReportType". 
     </p><div class="div3">
-<h4><a name="iddiv3_1_2640" id="iddiv3_1_2640"/>A.1.1 Retrieving Event Descriptions</h4><p>
+<h4><a name="iddiv3_1_2742" id="iddiv3_1_2742"/>A.1.1 Retrieving Event Descriptions</h4><p>
       Although there are many ways in which an Event Source can make its 
       EventDescriptions available, this specification RECOMMENDS the use of 
       the mechanisms described in WS-MetadataExchange <a href="#MEX">[WS-MetadataExchange]</a>.
@@ -1887,7 +1902,7 @@
       be equal to the value of its wse:EventDescriptions/@targetNamespace. An 
       Event Source MUST NOT have more than one EventDescriptions document.
      </p></div><div class="div3">
-<h4><a name="iddiv3_1_2656" id="iddiv3_1_2656"/>A.1.2 Bindings for Event Descriptions</h4><p>
+<h4><a name="iddiv3_1_2758" id="iddiv3_1_2758"/>A.1.2 Bindings for Event Descriptions</h4><p>
       For any Notification Format it SHOULD be possible to determine how a 
       given wse:eventType will appear on the wire as a Notification in a 
       Subscription created with that format. The following sections define 
@@ -1899,7 +1914,7 @@
       Format, implementations MAY provide a Notification WSDL (see below) 
       that explicitly describes the Notification operations. 
      </p><div class="div4">
-<h5><a name="iddiv4_1_2661" id="iddiv4_1_2661"/>A.1.2.1 Binding for Unwrapped Notifications</h5><p>
+<h5><a name="iddiv4_1_2763" id="iddiv4_1_2763"/>A.1.2.1 Binding for Unwrapped Notifications</h5><p>
        The information about an Event Type contained in the wse:eventType 
        element binds to a Unwrapped Notification for that type as follows:
       </p><ul><li><p>
@@ -1913,7 +1928,7 @@
          of the wse:eventType element corresponding to the type of the 
          Event being transmitted.
         </p></li></ul></div><div class="div4">
-<h5><a name="iddiv4_1_2679" id="iddiv4_1_2679"/>A.1.2.2 Binding for Wrapped Notifications</h5><p>
+<h5><a name="iddiv4_1_2781" id="iddiv4_1_2781"/>A.1.2.2 Binding for Wrapped Notifications</h5><p>
        The information about an Event Type contained in the eventType element 
        binds to a Wrapped Notification for that type as follows: 
       </p><ul><li><p>
@@ -1937,7 +1952,7 @@
      successful Subscribe request that used a particular Format IRI. The 
      following is an example of a Notification WSDL: 
     </p><div class="exampleOuter">
-<div class="exampleHeader"><a name="idexample_1_2700" id="idexample_1_2700"/>Example A-3: Notification WSDL</div><div class="exampleInner"><pre>(01) &lt;wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+<div class="exampleHeader"><a name="idexample_1_2802" id="idexample_1_2802"/>Example A-3: Notification WSDL</div><div class="exampleInner"><pre>(01) &lt;wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
 (02)                   targetNamespace="http://www.example.org/oceanwatch/notifications"
 (03)                   xmlns:xs="http://www.w3.org/2001/XMLSchema"
 (04)                   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
@@ -1972,7 +1987,7 @@
 (33)     &lt;/wsdl:operation&gt;
 (34)   &lt;/wsdl:binding&gt;
 (35) &lt;/wsdl:definitions&gt;</pre></div></div><div class="div3">
-<h4><a name="iddiv3_1_2706" id="iddiv3_1_2706"/>A.2.1 Retrieving Notification WSDLs</h4><p>
+<h4><a name="iddiv3_1_2808" id="iddiv3_1_2808"/>A.2.1 Retrieving Notification WSDLs</h4><p>
       Although there are many ways in which an Event Source can make 
       Notification WSDLs available, this specification RECOMMENDS the use of 
       the mechanisms described in WS-MetadataExchange <a href="#MEX">[WS-MetadataExchange]</a>.
@@ -1988,7 +2003,7 @@
       Format IRI/@Identifier, there MUST NOT exist more than one 
       Notification WSDL document. 
      </p></div></div><div class="div2">
-<h3><a name="iddiv2_1_2722" id="iddiv2_1_2722"/>A.3 Multiple Event Information Metadata Sections</h3><p>
+<h3><a name="iddiv2_1_2824" id="iddiv2_1_2824"/>A.3 Multiple Event Information Metadata Sections</h3><p>
      When WS-MetadataExchange is used to retrieve metadata about an Event 
      Source, recipients of mex:Metadata elements that contain Metadata 
      Sections with both the 
@@ -2048,11 +2063,28 @@
       &lt;xs:minInclusive value="P0Y0M0DT0H0M0S" /&gt;
     &lt;/xs:restriction&gt;
   &lt;/xs:simpleType&gt;
- 
-  &lt;xs:simpleType name="ExpirationType"&gt;
-      &lt;xs:union memberTypes="xs:dateTime 
-                tns:NonNegativeDurationType" /&gt;
+
+  &lt;xs:simpleType name="DurationDateTime"&gt;
+      &lt;xs:union memberTypes="xs:dateTime tns:NonNegativeDurationType" /&gt;
   &lt;/xs:simpleType&gt;
+
+  &lt;xs:complexType name="MiniExpirationType"&gt;
+    &lt;xs:simpleContent&gt;
+      &lt;xs:extension base="tns:DurationDateTime"&gt;
+        &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
+      &lt;/xs:extension&gt;
+    &lt;/xs:simpleContent&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;xs:complexType name="ExpirationType"&gt;
+    &lt;xs:simpleContent&gt;
+      &lt;xs:extension base="tns:MiniExpirationType"&gt;
+        &lt;xs:attribute name="min" type="tns:DurationDateTime" use="optional"/&gt;
+        &lt;xs:attribute name="max" type="tns:DurationDateTime" use="optional"/&gt;
+        &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
+      &lt;/xs:extension&gt;
+    &lt;/xs:simpleContent&gt;
+  &lt;/xs:complexType&gt;
  
   &lt;xs:complexType name="FilterType" mixed="true"&gt;
     &lt;xs:sequence&gt;
@@ -2563,4 +2595,5 @@
        <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=7426">7426</a></td></tr><tr><td> 2009/10/02 </td><td> DD </td><td> Added resolution of issue 
        <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=7554">7554</a></td></tr><tr><td> 2009/10/05 </td><td> DD </td><td> Added resolution of issue 
        <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6402">6402</a>,
-       <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6721">6721</a></td></tr></tbody></table></div></div></body></html>
\ No newline at end of file
+       <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6721">6721</a></td></tr><tr><td> 2009/10/06 </td><td> DD </td><td> Added resolution of issue 
+       <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=7478">7478</a></td></tr></tbody></table></div></div></body></html>
\ No newline at end of file

Received on Tuesday, 6 October 2009 16:20:36 UTC