OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [wsbpel] Issue 39 - Proposed resolution of Issue 39 (2nd version) -Inconsistent syntax for query attribute values in spec examples



Please use this subject line to continue this discussion

Regards, Diane
IBM  Dynamic e-business Technologies
drj@us.ibm.com
(919)254-7221 or 8-444-7221, Mobile: 919-624-5123

----- Forwarded by Diane Jordan/Raleigh/IBM on 08/01/2003 02:18 PM -----
"Ugo Corda" <UCorda@SeeBeyond.com>

08/01/2003 02:04 PM

       
        To:        <wsbpel@lists.oasis-open.org>
        cc:        
        Subject:        RE: [wsbpel] Proposed resolution of Issue 39 (2nd version) - Inconsistent syntax for query attribute values in spec examples



Further correction on the query string for example on page 38. It should be:
 
query="/txtype:socialsecnumber"
 
(I had forgotten the namespace prefix).
 
Ugo
-----Original Message-----
From:
Ugo Corda
Sent:
Thursday, July 31, 2003 3:54 PM
To:
wsbpel@lists.oasis-open.org
Subject:
[wsbpel] Proposed resolution of Issue 39 (2nd version) - Inconsistent syntax for query attribute values in spec examples

Based on the feedback received so far, I have modified my original proposal. My modification only relates to the example on page 38: I added a message declaration that defines the part in terms of an element (instead of a type, as it is done in all other examples), and I put some additional wording in the Rationale.

Ugo


Proposed resolution:
===============

The example on page 49 is correct. The examples on page 38 and 92 need to be modified as follows:

Page 38:

<bpws:propertyAlias propertyName="tns:taxpayerNumber"
       messageType="txmsg:taxpayerInfo" part="identification"

       query="/socialsecnumber"/>

becomes:

<message name="taxpayerInfo">
       <part name="identification" element="txtype:socialsecnumber"/>

</message>

<bpws:propertyAlias propertyName="tns:taxpayerNumber"
       messageType="tns:taxpayerInfo" part="identification"

       query="/socialsecnumber"/>

Page 92:

<bpws:propertyAlias propertyName="tns:shipOrderID"
       messageType="sns:shippingNoticeMsg"

       part="shipNotice"

       query="/ShipNoticeHeader/shipOrderID"/>

becomes:

<bpws:propertyAlias propertyName="tns:shipOrderID"
       messageType="sns:shippingNoticeMsg"

       part="shipNotice"

       query="/shipNotice/ShipNoticeHeader/shipOrderID"/>

(The other four propertyAlias elements in the same example on page 92 should also be modified in a similar way).

Rationale:
=======

Section 8.2, Defining Properties, immediately after the syntax description for a propertyAlias definition says:
"The interpretation of the message, part, and query attributes is the same as in the corresponding from-spec in copy assignments (see Assignment)".

Section 14.3, Assignment, says:

"For XPath 1.0, the value of the query attribute MUST be an absolute locationPath (with '/' meaning the root of the document fragment representing the entire part). It is used to identify the root of a subtree within the document fragment representing the part."

According to the XPath 1.0 data model (Sec. 5.1 of the XPath 1.0 Recommendation), "The root node is the root of the tree. [...] The element node for the document element is a child of the root node".

If we apply the previous rule to the "document fragment representing the entire part", then any absolute location path will be of the form "/part-name/...", if the part is defined in terms of a type, or "/part-element-name/...", if the part is defined in terms of an element.

For instance, if we look at the example on page 38 the document fragment representing the "identification" part would look something like this:

<socialsecnumber>
       ...

</socialsecnumber>

and the absolute location path that selects the part node itself is "/socialsecnumber".

If instead we look at the example on page 92 the document fragment representing the "shipNotice" part would look something like this:

<shipNotice>
       
<ShipNoticeHeader>
               
<shipOrderID>
                              ...

                       </shipOrderID>

       
</ShipNoticeHeader>
                     ...

</shipNotice>

and the absolute location path that selects the shipOrderID node is "/shipNotice/ShipNoticeHeader/shipOrderID".



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]