- From: Doug Davis via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 02 Sep 2009 12:51:41 +0000
- To: public-ws-resource-access-notifications@w3.org
Update of /w3ccvs/WWW/2002/ws/ra/edcopies In directory hutz:/tmp/cvs-serv18254 Modified Files: wseventing.html wseventing.xml Log Message: 6401 Index: wseventing.xml =================================================================== RCS file: /w3ccvs/WWW/2002/ws/ra/edcopies/wseventing.xml,v retrieving revision 1.71 retrieving revision 1.72 diff -u -d -r1.71 -r1.72 --- wseventing.xml 2 Sep 2009 11:36:57 -0000 1.71 +++ wseventing.xml 2 Sep 2009 12:51:39 -0000 1.72 @@ -2704,6 +2704,14 @@ , T. Berners-Lee, W3C/MIT, January 2005. </bibl> + <bibl id="RFC3987" key="RFC 3987" + href="http://www.ietf.org/rfc/rfc3987.txt"> + <titleref> + Internationalized Resource Identifiers (IRIs) + </titleref> + , M. Duerst, January 2005. + </bibl> + <bibl key="SOAP 1.1" id="SOAP11" href="http://www.w3.org/TR/2000/NOTE-SOAP-20000508/"> <titleref> @@ -2844,144 +2852,407 @@ </body> <back> - <div1 id="Metadata"> - <head>Service Metadata for Eventing</head> + <div1 id="Advertising"> + <head>Advertising Event Information</head> <p> - In order to obtain the event-related metadata that describes a - service, the mechanisms described in WS-MetadataExchange - <bibref ref="MEX"/> SHOULD be used. The - GetMetadata operation defined there allows WSDL and policy - information to be retrieved. The WSDL will contain annotations - that identify a service as an event source and that identify - those messages that describe notification messages. The policy - will specify the delivery extensions and filter types supported by the - event source. + There are many use cases for WS-Eventing in which it is necessary for the + Subscriber and the Event Sink to know the structure and contents of the + Notifications that can result from a successful Subscribe request. For + example, a developer might wish to use WSDL-based tools to generate + service stubs capable of marshalling and dispatching Notifications. In + addition to this, the effective use filters (including those in the + XPath dialect defined in <specref ref="Subscribe"/> as well as other + dialects not defined in this specification) requires some knowledge of + the schema of the Events over which the filter will be applied. </p> <p> - To indicate that notification and solicit-response operations - within a WSDL 1.1 portType are events exposed by an event source, - this specification defines an @wse:EventSource attribute to - annotate the portType for the event source. The normative outline - for the @wse:EventSource attribute is: + There are many ways in which an Event Source could describe and + advertise the structure of the Events for which it will issue + Notifications. To provide a basic level of interoperability, this + specification defines the following two optional mechanisms, in + <specref ref="ETypes"/> and <specref ref="NWSDL"/>, for describing and + advertising Event information. If an implementation of a WS-Eventing + Event Source chooses to describe the structure of its Events and + advertise this description, it is RECOMMENDED that at least one of + these mechanisms be used. Mechanisms other than these MAY be used + to describe and advertise the structure of Events, but the definition + of such mechanisms is out of the scope of this specification. </p> - <example> - <eg><wsd:definitions ...> - - <wsdl:import - namespace="http://www.w3.org/2009/02/ws-evt" - location= - "http://www.w3.org/2009/02/ws-evt/eventing.wsdl" /> - - [<wsdl:portType [wse:EventSource="<emph>xs:boolean</emph>"]? > - [<wsdl:operation ...> - [ - [<wsdl:input .../>] | - [<wsdl:output .../>] | - [<wsdl:input .../> <wsdl:output .../>] | - [<wsdl:output .../> <wsdl:input .../>] - ] - </wsdl:operation>]+ - </wsdl:portType>]* -</wsdl:definitions> </eg> - </example> + <div2 id="ETypes"> + <head>Event Types & Event Descriptions</head> - <p> - The following describes additional, normative constraints on - the outline listed above: - </p> + <p> + A key concept in the description and advertisement of Event information + is the "Event Type". An Event Type is a description of the syntactic + structure and value space of the set of Events that share that type. + Event Types are independent of both the WS-Eventing protocol and the + format of the Notifications used to transmit those Events. For example, + the following Notification, although transmitted using the Wrapped + Notification Format defined in <specref ref="Subscribe"/>, has the same + Event Type as the Notification in <specref ref="Table13"/>: + </p> - <glist> - <gitem> - <label> /wsdl:definitions/wsdl:portType/@wse:EventSource </label> - <def> - <p>If omitted, implied value is false.</p> - </def> - </gitem> + <example id="EDExample"> + <head>Hypothetical Wrapped Notification</head> + <eg>(01) <s12:Envelope xmlns:s12="http://www.w3.org/2003/05/soap-envelope" +(02) xmlns:wsa="http://www.w3.org/2005/08/addressing" +(03) xmlns:wse="http://www.w3.org/2009/02/ws-evt" +(04) xmlns:ow="http://www.example.org/oceanwatch"> +(05) <s12:Header> +(06) <wsa:Action> +(07) http://www.w3.org/2009/02/ws-evt/wrap/GenericSinkPortType/NotifyEvent +(08) </wsa:Action> +(09) . . . +(10) </s12:Header> +(11) <s12:Body> +(12) <wse:Notify actionURI="http://www.example.org/oceanwatch/2003/WindReport"> +(13) <ow:WindReport> +(14) <ow:Date>030701</ow:Date> +(15) <ow:Time>0041</ow:Time> +(16) <ow:Speed>65</ow:Speed> +(17) <ow:Location>BRADENTON BEACH</ow:Location> +(18) <ow:County>MANATEE</ow:County> +(19) <ow:State>FL</ow:State> +(20) <ow:Lat>2746</ow:Lat> +(21) <ow:Long>8270</ow:Long> +(22) <ow:Comments xml:lang="en-US" > +(23) WINDS 55 WITH GUSTS TO 65. ROOF TORN OFF BOAT HOUSE. REPORTED +(24) BY STORM SPOTTER. (TBW) +(25) </ow:Comments> +(26) </ow:WindReport> +(27) </wse:Notify> +(28) </s12:Body> +(29) </s12:Envelope></eg> + </example> - <gitem> - <label> /wsdl:definitions/wsdl:portType/@wse:EventSource="true" </label> - <def> + <p> + Event Types MAY be described within an EventDescriptions element where + they are defined by Global Element Declarations in XML Schema. The + EventDescriptions element has the following form: + </p> + + <example> + <eg><wse:EventDescriptions targetNamespace="xs:anyURI" ...> + <wse:types> + [ <xs:import namespace="xs:anyURI" schemaLocation="xs:anyURI"/> ? | + <xs:schema targetNamespace="xs:anyURI"/> ?] * + xs:any * + </wse:types> + <wse:eventType name="xs:NCName" element="xs:QName" actionURI="xs:anyURI" ...> + xs:any * + </wse:eventType> + + xs:any * +</wse:EventDescriptions></eg> + </example> + + <p> + The XML Schema for the EventDesciptions element can be found in + <specref ref="EDXSD"/>. The following describes additional, normative + constraints on the outlined listed above: + </p> + + <glist> + <gitem> + <label> /wse:EventDescription </label> + <def> + <p> + This element contains the declarations of all the Event Types that + apply to a given context, such as a particular Event Source. + </p> + </def> + </gitem> + <gitem> + <label> /wse:EventDescription@targetNamespace </label> + <def> + <p> + This attribute defines the namespace affiliation of the Event Types + declared within the EventDescriptions element. Its value MUST be an + absolute IRI <bibref ref="RFC3987"/>. It MAY be dereferencable. + </p> + </def> + </gitem> + <gitem> + <label> /wse:EventDescriptions/wse:types </label> + <def> + <p> + As described earlier, an Event Type is defined by a Global Element + Declaration (GED) in XML Schema. This element contains collections + of imported and inlined schema components that describe the GEDs + that are used to define Event Types. + </p> + </def> + </gitem> + <gitem> + <label> /wse:EventDescriptions/wse:eventType </label> + <def> + <p> + This element describes a specific Event Type. + </p> + </def> + </gitem> + <gitem> + <label> /wse:EventDescriptions/wse:eventType/@name </label> + <def> + <p> + This attribute provides a unique name for this Event Type amongst + all the Event Types defined by the enclosing wse:EventDescriptions + element. In conjunction with a Prefix that is associated with the + value of /wse:EventDescriptions/@targetNamespace namespace URI, the + value of this attribute MAY be used as the LocalPart of a QName + that identifies this Event Type outside the context of the + enclosing wse:EventDescriptions element. + </p> + </def> + </gitem> + <gitem> + <label> /wse:EventDescriptions/wse:eventType/@element </label> + <def> + <p> + This attribute refers to a GED defined or imported in the + /wse:EventDescriptions/wse:types element. The referenced GED + serves as the definition of this Event Type. + </p> + </def> + </gitem> + <gitem> + <label> /wse:EventDescriptions/wse:eventType/@actionURI </label> + <def> + <p> + This attribute provides a value for the various 'action' properties + and attributes which, depending upon the format of the Notification + used to transmit the Event, serve as a potential aide to + identifying the semantics implied by the message. + </p> + </def> + </gitem> + </glist> + + <p> + The following is an example of a EventDescriptions element that could + serve as a description of the Event Type used in + <specref ref="Table1"/> and <specref ref="EDExample"/>. + </p> + + <example> + <head>EventDescriptions</head> + <eg>(01) <wse:EventDescriptions +(02) targetNamepace="http://www.example.org/oceanwatch/notifications" +(03) xmlns:wse="http://www.w3.org/2009/02/ws-evt" +(04) xmlns:ow="http://www.example.org/oceanwatch"> +(05) <wse:types> +(06) <xs:schema targetNamepace="http://www.example.org/oceanwatch"> +(07) <xs:include schemaLocation="http://www.example.org/schemas/oceanwatch.xsd"/> +(08) <xs:element name="WindReport" type="ow:WindReportType"/> +(09) </xs:schema> +(10) </wse:types> +(11) +(12) <wse:eventType name="WindReportEvent" +(13) element="ow:WindReport" +(14) actionURI="http://www.example.org/oceanwatch/2003/WindReport"/> +(15) </wsem:EventDescriptions></eg> + </example> + + <p> + Lines (12-14) describe an Event Type with a QName of + "{http://www.example.org/oceanwatch/notifications}:WindReportEvent". The + GED for this Event Type is defined on line (08) as being of type + "{http://www.example.org/oceanwatch}:WindReportType". + </p> + + <div3> + <head>Retrieving Event Descriptions</head> + <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 <bibref ref="MEX"/>. + This specification defines the following URI to serve as the Dialect + URI for the wse:EventDescriptions element. + </p> + + <example> + <eg>http://www.w3.org/2009/02/ws-evt/EventDescriptions</eg> + </example> + + <p> + The value of the @Identifier attribute for this Metadata Section MUST + be equal to the value of its wse:EventDescriptions/@targetNamespace. An + Event Source MUST NOT have more than one EventDescriptions document. + </p> + </div3> + + <div3> + <head>Bindings for Event Descriptions</head> + <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 + how wse:eventTypes bind to Notifications for the two Notification + Formats defined in this specification; Unwrapped and Wrapped. + Specifications or profiles that define additional Notification Formats + SHOULD define how wse:eventTypes bind to the Notifications for those + formats. In the absence of a mapping for a particular Notification + Format, implementations MAY provide a Notification WSDL (see below) + that explicitly describes the Notification operations. + </p> + + <div4> + <head>Binding for Unwrapped Notifications</head> <p> - Indicates the portType supports the Subscribe operation - and indicates that notification and solicit-response - operations of the portType are events exposed by a service - with a port bound to this portType. + The information about an Event Type contained in the wse:eventType + element binds to a Unwrapped Notification for that type as follows: </p> - </def> - </gitem> - </glist> - <p> - Other components of the outline above are not further - constrained by this specification. - </p> + <ulist> + <item> + <p> + The <kw>[Action]</kw> property of the Notification has the value of + the actionURI attribute of the wse:eventType element + corresponding to the type of the Event being transmitted. + </p> + </item> + <item> + <p> + The <kw>[Body]</kw> property of the Notification + has a single child element. This child element is an instance of + the Global Element Declaration referenced by the element attribute + of the wse:eventType element corresponding to the type of the + Event being transmitted. + </p> + </item> + </ulist> + </div4> - <p> - For example, here is the WSDL 1.1 for a hypothetical storm - warning service that exposes a wind report event. - </p> + <div4> + <head>Binding for Wrapped Notifications</head> + <p> + The information about a Event Type contained in the eventType element + binds to a Wrapped Notification for that type as follows: + </p> - <example> - <eg><wsdl:definitions - targetNamespace="http://www.example.org/oceanwatch" - xmlns:tns="http://www.example.org/oceanwatch" - xmlns:wse="http://www.w3.org/2009/02/ws-evt" - xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" - xmlns:xs="http://www.w3.org/2001/XMLSchema" > - <wsdl:import - namespace="http://www.w3.org/2009/02/ws-evt" - location= - "http://www.w3.org/2009/02/ws-evt/eventing.wsdl" /> - <wsdl:types> - <xs:schema - targetNamespace="http://www.example.org/oceanwatch" - elementFormDefault="qualified" - blockDefault="#all" > - <xs:element name="WindReport" > - <xs:complexType> - <xs:sequence> - <xs:element name="Date" type="xs:string" /> - <xs:element name="Time" type="xs:string" /> - <xs:element name="Speed" type="xs:string" /> - <xs:element name="Location" type="xs:string" /> - <xs:element name="County" type="xs:string" /> - <xs:element name="State" type="xs:string" /> - <xs:element name="Lat" type="xs:string" /> - <xs:element name="Long" type="xs:string" /> - <xs:element name="Comments" type="xs:string" /> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:schema> - </wsdl:types> - <wsdl:message name="WindMsg" > - <wsdl:part name="body" element="tns:WindReport" /> - </wsdl:message> - <wsdl:portType name="Warnings" wse:EventSource="true" > - <wsdl:operation name="WindOp" > - <wsdl:output message="tns:WindMsg" /> - </wsdl:operation> - </wsdl:portType> -</wsdl:definitions> </eg> - </example> + <ulist> + <item> + <p> + The /soap:Envelope/soap:Body/wse:Notify/@actionURI attribute of the + Wrapped Notification has the value of the actionURI attribute of + the eventType element corresponding to the type of the Event + being transmitted. + </p> + </item> + <item> + <p> + The /soap:Envelope/soap:Body/wse:Notify element has a single child + element. This child element is an instance of the Global Element + Declaration referenced by the element attribute of the eventType + element corresponding to the type of the Event being transmitted. + </p> + </item> + </ulist> + </div4> - <p> - As described here, to subscribe to events exposed by an event - source, a subscribing endpoint sends a Subscribe message to the - endpoint reference for the event source. If the Subscribe does - not include a filter, the event sink SHOULD expect to receive - events defined by notification operations within the portType and - SHOULD expect to receive and respond to events defined by - solicit-response operations within the portType. - </p> + </div3> + </div2> + + <div2 id="NWSDL"> + <head>Notification WSDLs</head> + + <p> + As described previously, Event Sources transmit Events to Event Sinks as + SOAP messages called "Notifications". These Notifications MAY be + described via a Web Services Description Language <bibref ref="WSDL11"/> + definitions element termed a "Notification WSDL". A Notification WSDL + describes the interface that the Event Sink is required to implement to + receive and process the Notifications that might result from a + successful Subscribe request that used a particular Format URI. The + following is an example of a Notification WSDL: + </p> + + <example> + <head>Notification WSDL</head> + <eg>(01) <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/" +(05) xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" +(06) xmlns:ow="http://www.example.org/oceanwatch" +(07) xmlns:tns="http://www.example.org/oceanwatch/notifications"> +(08) <wsdl:types> +(09) <xs:schema targetNamepace="http://www.example.org/oceanwatch"> +(10) <xs:include schemaLocation="http://www.example.org/schemas/oceanwatch.xsd"/> +(11) <xs:element name="WindReport" type="ow:WindReportType"> +(12) </xs:schema> +(13) </wsdl:types> +(14) +(15) <wsdl:message name="WindReportNotificationMsg"> +(16) <wsdl:part name="event" element="ow:WindReport"/> +(17) </wsdl:message> +(18) +(19) <wsdl:portType name="WindReportPortType"> +(20) <wsdl:operation name="WindReportNotificationOp"> +(21) <wsdl:input message="tns:WindReportNotificationMsg" +(22) wsam:Action="http://www.example.org/oceanwatch/2003/WindReport"/> +(23) </wsdl:operation> +(24) </wsdl:portType> +(25) +(26) <wsdl:binding name="WindReportBinding" type="tns:WindReportPortType"> +(27) <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> +(28) <wsdl:operation name="WindReportNotificationOp"> +(29) <soap:operation soapAction=""/> +(30) <wsdl:input> +(31) <soap:body use="literal"/> +(32) </wsdl:input> +(33) </wsdl:operation> +(34) </wsdl:binding> +(35) </wsdl:definitions></eg> + </example> + + <div3> + <head>Retrieving Notification WSDLs</head> + <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 <bibref ref="MEX"/>. + This specification defines the following URI to serve as the Dialect + URI for the Notification WSDL. + </p> + + <example> + <eg>http://www.w3.org/2009/02/ws-evt/NotificationWSDL</eg> + </example> + + <p> + Because the Notification Format specified in a Subscribe request can + affect various aspects of the Notification WSDL, it is necessary to + correlate Notification WSDLs with their corresponding Notification + Formats. When using WS-MetadataExchange to transfer Notification WSDLs, + the corresponding Format URI for that Notification WSDL MUST be + represented via the @Identifier attribute. For any particular + Format URI/@Identifier, there MUST NOT exist more than one + Notification WSDL document. + </p> + </div3> + + </div2> + + <div2> + <head>Multiple Event Information Metadata Sections</head> + <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 + "http://www.w3.org/2009/02/ws-evt/EventDescriptions" and + "http://www.w3.org/2009/02/ws-evt/NotificationWSDL" dialects MUST + regard these Metadata Sections as relating to the same set of Events. + In cases where the mex:Metadata element contains multiple + Notification WSDLs (i.e. multiple Metadata Sections with a @Dialect + of "http://www.w3.org/2009/02/ws-evt/NotificationWSDL"), recipients MUST + similarly regard these Notification WSDLs as relating to the same set + of Events although their Notification Formats differ. + </p> + </div2> - <p> - Editor's Note: We anticipate that this WSDL extension - may change in subsequent versions of this specification. - </p> </div1> <div1 id="Schema"> @@ -3419,6 +3690,63 @@ </div1> + <div1 id="EDXSD"> + <head>XML Schema for EventDescriptions</head> + + <p> + A normative copy of the XML Schema <bibref ref='XMLSchema1'/>, + <bibref ref='XMLSchema2'/> description for the EventDescriptions + element can be retrieved from the following address: + </p> + + <example> + <eg><loc href='http://www.w3.org/2009/02/ws-evt/EventDescriptions.xsd'>http://www.w3.org/2009/02/ws-evt/EventDescriptions.xsd</loc></eg> + </example> + + <p> + A non-normative copy of the XML schema is listed below for + convenience. + </p> + + <example> + <eg><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://www.w3.org/2009/02/ws-evt" + elementFormDefault="qualified" attributeFormDefault="unqualified"> + <xs:element name="EventDescriptions"> + <xs:complexType> + <xs:sequence> + <xs:element name="types"> + <xs:annotation> + <xs:documentation>Data type definitions that are relevant to described notifications.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:complexType> + </xs:element> + <xs:element name="eventType" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="name" type="xs:NCName" use="required"/> + <xs:attribute name="element" type="xs:QName" use="required"/> + <xs:attribute name="action" type="xs:anyURI" use="required"/> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:complexType> + </xs:element> + <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="targetNamespace" type="xs:anyURI" use="required"/> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:complexType> + </xs:element> +</xs:schema></eg> + </example> + </div1> + <div1 id="changelog"> <head>Change Log</head> @@ -3763,6 +4091,13 @@ <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6694">6694</loc> </td> </tr> + <tr> + <td> 2009/09/02 </td> + <td> DD </td> + <td> Added resolution of issue + <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6401">6401</loc> + </td> + </tr> </tbody> </table> </div1> Index: wseventing.html =================================================================== RCS file: /w3ccvs/WWW/2002/ws/ra/edcopies/wseventing.html,v retrieving revision 1.80 retrieving revision 1.81 diff -u -d -r1.80 -r1.81 --- wseventing.html 2 Sep 2009 11:36:57 -0000 1.80 +++ wseventing.html 2 Sep 2009 12:51:39 -0000 1.81 @@ -80,11 +80,20 @@ 10 <a href="#acks">Acknowledgements</a><br/> 11 <a href="#refs">References</a><br/> </p> -<h3><a name="appendices" id="appendices"/>Appendices</h3><p class="toc">A <a href="#Metadata">Service Metadata for Eventing</a><br/> +<h3><a name="appendices" id="appendices"/>Appendices</h3><p class="toc">A <a href="#Advertising">Advertising Event Information</a><br/> + A.1 <a href="#ETypes">Event Types & Event Descriptions</a><br/> + A.1.1 <a href="#iddiv3_1_2461">Retrieving Event Descriptions</a><br/> + A.1.2 <a href="#iddiv3_1_2475">Bindings for Event Descriptions</a><br/> + A.1.2.1 <a href="#iddiv4_1_2480">Binding for Unwrapped Notifications</a><br/> + A.1.2.2 <a href="#iddiv4_1_2498">Binding for Wrapped Notifications</a><br/> + A.2 <a href="#NWSDL">Notification WSDLs</a><br/> + A.2.1 <a href="#iddiv3_1_2525">Retrieving Notification WSDLs</a><br/> + A.3 <a href="#iddiv2_1_2539">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/> -E <a href="#changelog">Change Log</a><br/> +E <a href="#EDXSD">XML Schema for EventDescriptions</a><br/> +F <a href="#changelog">Change Log</a><br/> </p></div><hr/><div class="body"><div class="div1"> <h2><a name="composable" id="composable"/>1 Composable Architecture</h2><p> By using the XML, SOAP <a href="#SOAP11">[SOAP 1.1]</a>, @@ -1487,7 +1496,11 @@ Uniform Resource Identifier (URI): Generic Syntax </cite></a> , T. Berners-Lee, W3C/MIT, January 2005. - (See http://www.ietf.org/rfc/rfc3986.txt.)</dd><dt class="label"><a name="SOAP11" id="SOAP11"/>SOAP 1.1</dt><dd><a href="http://www.w3.org/TR/2000/NOTE-SOAP-20000508/"><cite> + (See http://www.ietf.org/rfc/rfc3986.txt.)</dd><dt class="label"><a name="RFC3987" id="RFC3987"/>RFC 3987</dt><dd><a href="http://www.ietf.org/rfc/rfc3987.txt"><cite> + Internationalized Resource Identifiers (IRIs) + </cite></a> + , M. Duerst, January 2005. + (See http://www.ietf.org/rfc/rfc3987.txt.)</dd><dt class="label"><a name="SOAP11" id="SOAP11"/>SOAP 1.1</dt><dd><a href="http://www.w3.org/TR/2000/NOTE-SOAP-20000508/"><cite> Simple Object Access Protocol (SOAP) 1.1 </cite></a> , D. Box, et al, May 2000. @@ -1556,105 +1569,266 @@ </cite></a> , J. Clark, et al, November 1999. (See http://www.w3.org/TR/1999/REC-xpath-19991116.)</dd></dl></div></div><div class="back"><div class="div1"> -<h2><a name="Metadata" id="Metadata"/>A Service Metadata for Eventing</h2><p> - In order to obtain the event-related metadata that describes a - service, the mechanisms described in WS-MetadataExchange - <a href="#MEX">[WS-MetadataExchange]</a> SHOULD be used. The - GetMetadata operation defined there allows WSDL and policy - information to be retrieved. The WSDL will contain annotations - that identify a service as an event source and that identify - those messages that describe notification messages. The policy - will specify the delivery extensions and filter types supported by the - event source. - </p><p> - To indicate that notification and solicit-response operations - within a WSDL 1.1 portType are events exposed by an event source, - this specification defines an @wse:EventSource attribute to - annotate the portType for the event source. The normative outline - for the @wse:EventSource attribute is: - </p><div class="exampleOuter"><div class="exampleInner"><pre><wsd:definitions ...> - - <wsdl:import - namespace="http://www.w3.org/2009/02/ws-evt" - location= - "http://www.w3.org/2009/02/ws-evt/eventing.wsdl" /> - - [<wsdl:portType [wse:EventSource="<em>xs:boolean</em>"]? > - [<wsdl:operation ...> - [ - [<wsdl:input .../>] | - [<wsdl:output .../>] | - [<wsdl:input .../> <wsdl:output .../>] | - [<wsdl:output .../> <wsdl:input .../>] - ] - </wsdl:operation>]+ - </wsdl:portType>]* -</wsdl:definitions> </pre></div></div><p> - The following describes additional, normative constraints on - the outline listed above: - </p><dl><dt class="label"> /wsdl:definitions/wsdl:portType/@wse:EventSource </dt><dd><p>If omitted, implied value is false.</p></dd><dt class="label"> /wsdl:definitions/wsdl:portType/@wse:EventSource="true" </dt><dd><p> - Indicates the portType supports the Subscribe operation - and indicates that notification and solicit-response - operations of the portType are events exposed by a service - with a port bound to this portType. - </p></dd></dl><p> - Other components of the outline above are not further - constrained by this specification. - </p><p> - For example, here is the WSDL 1.1 for a hypothetical storm - warning service that exposes a wind report event. - </p><div class="exampleOuter"><div class="exampleInner"><pre><wsdl:definitions - targetNamespace="http://www.example.org/oceanwatch" - xmlns:tns="http://www.example.org/oceanwatch" - xmlns:wse="http://www.w3.org/2009/02/ws-evt" - xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" - xmlns:xs="http://www.w3.org/2001/XMLSchema" > - <wsdl:import - namespace="http://www.w3.org/2009/02/ws-evt" - location= - "http://www.w3.org/2009/02/ws-evt/eventing.wsdl" /> - <wsdl:types> - <xs:schema - targetNamespace="http://www.example.org/oceanwatch" - elementFormDefault="qualified" - blockDefault="#all" > - <xs:element name="WindReport" > - <xs:complexType> - <xs:sequence> - <xs:element name="Date" type="xs:string" /> - <xs:element name="Time" type="xs:string" /> - <xs:element name="Speed" type="xs:string" /> - <xs:element name="Location" type="xs:string" /> - <xs:element name="County" type="xs:string" /> - <xs:element name="State" type="xs:string" /> - <xs:element name="Lat" type="xs:string" /> - <xs:element name="Long" type="xs:string" /> - <xs:element name="Comments" type="xs:string" /> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:schema> - </wsdl:types> - <wsdl:message name="WindMsg" > - <wsdl:part name="body" element="tns:WindReport" /> - </wsdl:message> - <wsdl:portType name="Warnings" wse:EventSource="true" > - <wsdl:operation name="WindOp" > - <wsdl:output message="tns:WindMsg" /> - </wsdl:operation> - </wsdl:portType> -</wsdl:definitions> </pre></div></div><p> - As described here, to subscribe to events exposed by an event - source, a subscribing endpoint sends a Subscribe message to the - endpoint reference for the event source. If the Subscribe does - not include a filter, the event sink SHOULD expect to receive - events defined by notification operations within the portType and - SHOULD expect to receive and respond to events defined by - solicit-response operations within the portType. +<h2><a name="Advertising" id="Advertising"/>A Advertising Event Information</h2><p> + There are many use cases for WS-Eventing in which it is necessary for the + Subscriber and the Event Sink to know the structure and contents of the + Notifications that can result from a successful Subscribe request. For + example, a developer might wish to use WSDL-based tools to generate + service stubs capable of marshalling and dispatching Notifications. In + addition to this, the effective use filters (including those in the + XPath dialect defined in <a href="#Subscribe"><b>4.1 Subscribe</b></a> as well as other + dialects not defined in this specification) requires some knowledge of + the schema of the Events over which the filter will be applied. </p><p> - Editor's Note: We anticipate that this WSDL extension - may change in subsequent versions of this specification. - </p></div><div class="div1"> + There are many ways in which an Event Source could describe and + advertise the structure of the Events for which it will issue + Notifications. To provide a basic level of interoperability, this + specification defines the following two optional mechanisms, in + <a href="#ETypes"><b>A.1 Event Types & Event Descriptions</b></a> and <a href="#NWSDL"><b>A.2 Notification WSDLs</b></a>, for describing and + advertising Event information. If an implementation of a WS-Eventing + Event Source chooses to describe the structure of its Events and + advertise this description, it is RECOMMENDED that at least one of + these mechanisms be used. Mechanisms other than these MAY be used + to describe and advertise the structure of Events, but the definition + of such mechanisms is out of the scope of this specification. + </p><div class="div2"> +<h3><a name="ETypes" id="ETypes"/>A.1 Event Types & Event Descriptions</h3><p> + A key concept in the description and advertisement of Event information + is the "Event Type". An Event Type is a description of the syntactic + structure and value space of the set of Events that share that type. + Event Types are independent of both the WS-Eventing protocol and the + format of the Notifications used to transmit those Events. For example, + the following Notification, although transmitted using the Wrapped + Notification Format defined in <a href="#Subscribe"><b>4.1 Subscribe</b></a>, has the same + Event Type as the Notification in <a href="#Table13">Example 5-1</a>: + </p><div class="exampleOuter"> +<div class="exampleHeader"><a name="EDExample" id="EDExample"/>Example A-1: Hypothetical Wrapped Notification</div><div class="exampleInner"><pre>(01) <s12:Envelope xmlns:s12="http://www.w3.org/2003/05/soap-envelope" +(02) xmlns:wsa="http://www.w3.org/2005/08/addressing" +(03) xmlns:wse="http://www.w3.org/2009/02/ws-evt" +(04) xmlns:ow="http://www.example.org/oceanwatch"> +(05) <s12:Header> +(06) <wsa:Action> +(07) http://www.w3.org/2009/02/ws-evt/wrap/GenericSinkPortType/NotifyEvent +(08) </wsa:Action> +(09) . . . +(10) </s12:Header> +(11) <s12:Body> +(12) <wse:Notify actionURI="http://www.example.org/oceanwatch/2003/WindReport"> +(13) <ow:WindReport> +(14) <ow:Date>030701</ow:Date> +(15) <ow:Time>0041</ow:Time> +(16) <ow:Speed>65</ow:Speed> +(17) <ow:Location>BRADENTON BEACH</ow:Location> +(18) <ow:County>MANATEE</ow:County> +(19) <ow:State>FL</ow:State> +(20) <ow:Lat>2746</ow:Lat> +(21) <ow:Long>8270</ow:Long> +(22) <ow:Comments xml:lang="en-US" > +(23) WINDS 55 WITH GUSTS TO 65. ROOF TORN OFF BOAT HOUSE. REPORTED +(24) BY STORM SPOTTER. (TBW) +(25) </ow:Comments> +(26) </ow:WindReport> +(27) </wse:Notify> +(28) </s12:Body> +(29) </s12:Envelope></pre></div></div><p> + Event Types MAY be described within an EventDescriptions element where + they are defined by Global Element Declarations in XML Schema. The + EventDescriptions element has the following form: + </p><div class="exampleOuter"><div class="exampleInner"><pre><wse:EventDescriptions targetNamespace="xs:anyURI" ...> + <wse:types> + [ <xs:import namespace="xs:anyURI" schemaLocation="xs:anyURI"/> ? | + <xs:schema targetNamespace="xs:anyURI"/> ?] * + xs:any * + </wse:types> + <wse:eventType name="xs:NCName" element="xs:QName" actionURI="xs:anyURI" ...> + xs:any * + </wse:eventType> + + xs:any * +</wse:EventDescriptions></pre></div></div><p> + The XML Schema for the EventDesciptions element can be found in + <a href="#EDXSD"><b>E XML Schema for EventDescriptions</b></a>. The following describes additional, normative + constraints on the outlined listed above: + </p><dl><dt class="label"> /wse:EventDescription </dt><dd><p> + This element contains the declarations of all the Event Types that + apply to a given context, such as a particular Event Source. + </p></dd><dt class="label"> /wse:EventDescription@targetNamespace </dt><dd><p> + This attribute defines the namespace affiliation of the Event Types + declared within the EventDescriptions element. Its value MUST be an + absolute IRI <a href="#RFC3987">[RFC 3987]</a>. It MAY be dereferencable. + </p></dd><dt class="label"> /wse:EventDescriptions/wse:types </dt><dd><p> + As described earlier, an Event Type is defined by a Global Element + Declaration (GED) in XML Schema. This element contains collections + of imported and inlined schema components that describe the GEDs + that are used to define Event Types. + </p></dd><dt class="label"> /wse:EventDescriptions/wse:eventType </dt><dd><p> + This element describes a specific Event Type. + </p></dd><dt class="label"> /wse:EventDescriptions/wse:eventType/@name </dt><dd><p> + This attribute provides a unique name for this Event Type amongst + all the Event Types defined by the enclosing wse:EventDescriptions + element. In conjunction with a Prefix that is associated with the + value of /wse:EventDescriptions/@targetNamespace namespace URI, the + value of this attribute MAY be used as the LocalPart of a QName + that identifies this Event Type outside the context of the + enclosing wse:EventDescriptions element. + </p></dd><dt class="label"> /wse:EventDescriptions/wse:eventType/@element </dt><dd><p> + This attribute refers to a GED defined or imported in the + /wse:EventDescriptions/wse:types element. The referenced GED + serves as the definition of this Event Type. + </p></dd><dt class="label"> /wse:EventDescriptions/wse:eventType/@actionURI </dt><dd><p> + This attribute provides a value for the various 'action' properties + and attributes which, depending upon the format of the Notification + used to transmit the Event, serve as a potential aide to + identifying the semantics implied by the message. + </p></dd></dl><p> + The following is an example of a EventDescriptions element that could + 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_2453" id="idexample_1_2453"/>Example A-2: EventDescriptions</div><div class="exampleInner"><pre>(01) <wse:EventDescriptions +(02) targetNamepace="http://www.example.org/oceanwatch/notifications" +(03) xmlns:wse="http://www.w3.org/2009/02/ws-evt" +(04) xmlns:ow="http://www.example.org/oceanwatch"> +(05) <wse:types> +(06) <xs:schema targetNamepace="http://www.example.org/oceanwatch"> +(07) <xs:include schemaLocation="http://www.example.org/schemas/oceanwatch.xsd"/> +(08) <xs:element name="WindReport" type="ow:WindReportType"/> +(09) </xs:schema> +(10) </wse:types> +(11) +(12) <wse:eventType name="WindReportEvent" +(13) element="ow:WindReport" +(14) actionURI="http://www.example.org/oceanwatch/2003/WindReport"/> +(15) </wsem:EventDescriptions></pre></div></div><p> + Lines (12-14) describe an Event Type with a QName of + "{http://www.example.org/oceanwatch/notifications}:WindReportEvent". The + 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_2461" id="iddiv3_1_2461"/>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>. + This specification defines the following URI to serve as the Dialect + URI for the wse:EventDescriptions element. + </p><div class="exampleOuter"><div class="exampleInner"><pre>http://www.w3.org/2009/02/ws-evt/EventDescriptions</pre></div></div><p> + The value of the @Identifier attribute for this Metadata Section MUST + 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_2475" id="iddiv3_1_2475"/>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 + how wse:eventTypes bind to Notifications for the two Notification + Formats defined in this specification; Unwrapped and Wrapped. + Specifications or profiles that define additional Notification Formats + SHOULD define how wse:eventTypes bind to the Notifications for those + formats. In the absence of a mapping for a particular Notification + Format, implementations MAY provide a Notification WSDL (see below) + that explicitly describes the Notification operations. + </p><div class="div4"> +<h5><a name="iddiv4_1_2480" id="iddiv4_1_2480"/>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> + The <b>[Action]</b> property of the Notification has the value of + the actionURI attribute of the wse:eventType element + corresponding to the type of the Event being transmitted. + </p></li><li><p> + The <b>[Body]</b> property of the Notification + has a single child element. This child element is an instance of + the Global Element Declaration referenced by the element attribute + 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_2498" id="iddiv4_1_2498"/>A.1.2.2 Binding for Wrapped Notifications</h5><p> + The information about a Event Type contained in the eventType element + binds to a Wrapped Notification for that type as follows: + </p><ul><li><p> + The /soap:Envelope/soap:Body/wse:Notify/@actionURI attribute of the + Wrapped Notification has the value of the actionURI attribute of + the eventType element corresponding to the type of the Event + being transmitted. + </p></li><li><p> + The /soap:Envelope/soap:Body/wse:Notify element has a single child + element. This child element is an instance of the Global Element + Declaration referenced by the element attribute of the eventType + element corresponding to the type of the Event being transmitted. + </p></li></ul></div></div></div><div class="div2"> +<h3><a name="NWSDL" id="NWSDL"/>A.2 Notification WSDLs</h3><p> + As described previously, Event Sources transmit Events to Event Sinks as + SOAP messages called "Notifications". These Notifications MAY be + described via a Web Services Description Language <a href="#WSDL11">[WSDL 1.1]</a> + definitions element termed a "Notification WSDL". A Notification WSDL + describes the interface that the Event Sink is required to implement to + receive and process the Notifications that might result from a + successful Subscribe request that used a particular Format URI. The + following is an example of a Notification WSDL: + </p><div class="exampleOuter"> +<div class="exampleHeader"><a name="idexample_1_2519" id="idexample_1_2519"/>Example A-3: Notification WSDL</div><div class="exampleInner"><pre>(01) <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/" +(05) xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" +(06) xmlns:ow="http://www.example.org/oceanwatch" +(07) xmlns:tns="http://www.example.org/oceanwatch/notifications"> +(08) <wsdl:types> +(09) <xs:schema targetNamepace="http://www.example.org/oceanwatch"> +(10) <xs:include schemaLocation="http://www.example.org/schemas/oceanwatch.xsd"/> +(11) <xs:element name="WindReport" type="ow:WindReportType"> +(12) </xs:schema> +(13) </wsdl:types> +(14) +(15) <wsdl:message name="WindReportNotificationMsg"> +(16) <wsdl:part name="event" element="ow:WindReport"/> +(17) </wsdl:message> +(18) +(19) <wsdl:portType name="WindReportPortType"> +(20) <wsdl:operation name="WindReportNotificationOp"> +(21) <wsdl:input message="tns:WindReportNotificationMsg" +(22) wsam:Action="http://www.example.org/oceanwatch/2003/WindReport"/> +(23) </wsdl:operation> +(24) </wsdl:portType> +(25) +(26) <wsdl:binding name="WindReportBinding" type="tns:WindReportPortType"> +(27) <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> +(28) <wsdl:operation name="WindReportNotificationOp"> +(29) <soap:operation soapAction=""/> +(30) <wsdl:input> +(31) <soap:body use="literal"/> +(32) </wsdl:input> +(33) </wsdl:operation> +(34) </wsdl:binding> +(35) </wsdl:definitions></pre></div></div><div class="div3"> +<h4><a name="iddiv3_1_2525" id="iddiv3_1_2525"/>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>. + This specification defines the following URI to serve as the Dialect + URI for the Notification WSDL. + </p><div class="exampleOuter"><div class="exampleInner"><pre>http://www.w3.org/2009/02/ws-evt/NotificationWSDL</pre></div></div><p> + Because the Notification Format specified in a Subscribe request can + affect various aspects of the Notification WSDL, it is necessary to + correlate Notification WSDLs with their corresponding Notification + Formats. When using WS-MetadataExchange to transfer Notification WSDLs, + the corresponding Format URI for that Notification WSDL MUST be + represented via the @Identifier attribute. For any particular + Format URI/@Identifier, there MUST NOT exist more than one + Notification WSDL document. + </p></div></div><div class="div2"> +<h3><a name="iddiv2_1_2539" id="iddiv2_1_2539"/>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 + "http://www.w3.org/2009/02/ws-evt/EventDescriptions" and + "http://www.w3.org/2009/02/ws-evt/NotificationWSDL" dialects MUST + regard these Metadata Sections as relating to the same set of Events. + In cases where the mex:Metadata element contains multiple + Notification WSDLs (i.e. multiple Metadata Sections with a @Dialect + of "http://www.w3.org/2009/02/ws-evt/NotificationWSDL"), recipients MUST + similarly regard these Notification WSDLs as relating to the same set + of Events although their Notification Formats differ. + </p></div></div><div class="div1"> <h2><a name="Schema" id="Schema"/>B XML Schema</h2><p> A normative copy of the XML Schema <a href="#XMLSchema1">[XML Schema, Part 1]</a>, <a href="#XMLSchema2">[XML Schema, Part 2]</a> description for this specification can be @@ -2050,7 +2224,49 @@ </operation> </portType> </definitions></pre></div></div></div><div class="div1"> -<h2><a name="changelog" id="changelog"/>E Change Log</h2><table border="1"><tbody><tr><th> Data </th><th> Author </th><th> Description </th></tr><tr><td> 2009/03/04 </td><td> DD </td><td> Added resolution of issue +<h2><a name="EDXSD" id="EDXSD"/>E XML Schema for EventDescriptions</h2><p> + A normative copy of the XML Schema <a href="#XMLSchema1">[XML Schema, Part 1]</a>, + <a href="#XMLSchema2">[XML Schema, Part 2]</a> description for the EventDescriptions + element can be retrieved from the following address: + </p><div class="exampleOuter"><div class="exampleInner"><pre><a href="http://www.w3.org/2009/02/ws-evt/EventDescriptions.xsd">http://www.w3.org/2009/02/ws-evt/EventDescriptions.xsd</a></pre></div></div><p> + A non-normative copy of the XML schema is listed below for + convenience. + </p><div class="exampleOuter"><div class="exampleInner"><pre><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://www.w3.org/2009/02/ws-evt" + elementFormDefault="qualified" attributeFormDefault="unqualified"> + <xs:element name="EventDescriptions"> + <xs:complexType> + <xs:sequence> + <xs:element name="types"> + <xs:annotation> + <xs:documentation>Data type definitions that are relevant to described notifications.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:complexType> + </xs:element> + <xs:element name="eventType" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="name" type="xs:NCName" use="required"/> + <xs:attribute name="element" type="xs:QName" use="required"/> + <xs:attribute name="action" type="xs:anyURI" use="required"/> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:complexType> + </xs:element> + <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="targetNamespace" type="xs:anyURI" use="required"/> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:complexType> + </xs:element> +</xs:schema></pre></div></div></div><div class="div1"> +<h2><a name="changelog" id="changelog"/>F Change Log</h2><table border="1"><tbody><tr><th> Data </th><th> Author </th><th> Description </th></tr><tr><td> 2009/03/04 </td><td> DD </td><td> Added resolution of issue <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6391">6391</a></td></tr><tr><td> 2009/03/04 </td><td> DD </td><td> Added resolution of issue <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6519">6519</a></td></tr><tr><td> 2009/03/04 </td><td> DD </td><td> Added resolution of issue <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6427">6427</a></td></tr><tr><td> 2009/03/04 </td><td> DD </td><td> Added resolution of issue @@ -2097,4 +2313,5 @@ <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=7235">7235</a></td></tr><tr><td> 2009/08/26 </td><td> DD </td><td> Added resolution of issue <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=7160">7160</a></td></tr><tr><td> 2009/09/01 </td><td> DD </td><td> Added resolution of issue <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6700">6700</a></td></tr><tr><td> 2009/09/02 </td><td> DD </td><td> Added resolution of issue - <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6694">6694</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=6694">6694</a></td></tr><tr><td> 2009/09/02 </td><td> DD </td><td> Added resolution of issue + <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6401">6401</a></td></tr></tbody></table></div></div></body></html> \ No newline at end of file
Received on Wednesday, 2 September 2009 12:52:00 UTC