← Prev in month ← Prev in thread
Next in thread → Next in month →

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

From
Ugo Corda <>
Date
2003-08-01T17:46:36+00:00
ID
Thread
RE: [wsbpel] Proposed resolution of Issue 39 (2nd version) - Inconsistent syntax for query attribute values in spec examples
Title: 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: 
  
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".
← Prev in month ← Prev in thread
Next in thread → Next in month →