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

 


Help: OASIS Mailing Lists Help | MarkMail Help

bpel4people message

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


Subject: BP-133: Result Aggregation Default Behavior


Assigned: http://www.osoa.org/jira/browse/BP-133 

-----Original Message-----
From: Dieter Koenig1 [mailto:dieterkoenig@de.ibm.com] 
Sent: Monday, January 25, 2010 08:50
To: bpel4people@lists.oasis-open.org
Subject: [bpel4people] New Issue: Result Aggregation Default Behavior



Target:

WS-HumanTask 1.1 CD 06 and PRD 01, section 4.8 Completion Behavior and section 7.2 XPath Extension Functions

Description:

WS-HT 1.1 section 4.8.2.1 describes the result construction from parallel subtasks using declarative result aggregation. In addition, section 7.2 defines XPath aggregation functions helping a WS-HT processor in performing this result aggregation. Section 7.2 also describes the returned value of an XPath function invoked with an empty node set.

This description is incomplete.

In addition to describing the XPath function results, it must be described what the parent task's output field will look like (in XML terms -- "NaN"
is just an XPath convention). This description has to consider a number of cases for the XML Schema definition of the aggregated XML value:
      Aggregation of XML elements vs. attributes
      Mandatory (minOccurs="1") vs. optional (minOccurs="0") elements
      Mandatory (use="required") vs. optional (use="optional") attributes
      Default value specified (default="...") vs. unspecified
      Null value allowed (nillable="true") vs. disallowed
      (nillable="false")

Finally, by default, the numeric XPath functions themselves should all return "NaN" for consistency reasons.

Proposal:

Between the end of the normative text in section 4.8.2.1 and the examples at the end of the section, add the following text.

<new_paragraph>

If a declarative result aggregation is applied, it is still possible that no values can be provided for the aggregation of a particular output field, for example, if no subtask has set a value to an optional field (by omission or by an explicit nil value).

In this case, the following rules determine how the aggregated output field of the parent task is set.
   (1) -- If the result value is optional (element defined with
   minOccurs="0" or attribute defined with use="optional") then the
   corresponding element or attribute in the parent task output MUST be
   omitted.
   (2) -- If (1) does not apply and a default value is provided (element or
   attribute with default="{value}") then the parent task output element or
   attribute MUST be explicitly set to this default value.
   (3) -- If (1)-(2) do not apply and the result value is a nillable
   element (element defined with nillable="true") then the parent task
   output element MUST be set to a nil value (<a xsi:nil="true"/>).
   (4) -- If (1)-(3) do not apply, that is, the result is mandatory
   (element defined with minOccurs="1" or attribute defined with
   use="required") but a value cannot be supplied, then a standard fault
   htd:aggregationFailure MUST be thrown to indicate a non-recoverable
   error.

</new_paragraph>

Finally, at the end of section 7.2, change the default behavior of the "sum" XPath function from:
   "Returns the sum value of all number nodes - returns 0 for an empty
   node-set"
to:
   "Returns the sum value of all number nodes - returns NaN for an empty
   node-set"


Kind Regards

Dieter König

Senior Technical Staff Member, WebSphere Process Server Architect IBM Software Group, Application and Integration Middleware Software WSS Business Process Solutions
                                                                                              
                                                                                              
                                                                                              
                                                                                              
                                                                                              
  Phone:            +49-7031-16-3426           IBM Deutschland                      (Embedded 
                                                                                  image moved 
                                                                                     to file: 
                                                                                pic17475.gif) 
                                                                                              
  E-Mail:           dieterkoenig@de.ibm.com    Schönaicher Str. 220                           
                                                                                              
                                               71032 Böblingen                                
                                                                                              
                                               Germany                                        
                                                                                              
                                                                                              
                                                                                              
                                                                                              
                                                                                              
  IBM Deutschland                                                                             
  Research &                                                                                  
  Development                                                                                 
  GmbH /                                                                                      
  Vorsitzender des                                                                            
  Aufsichtsrats:                                                                              
  Martin Jetter                                                                               
  Geschäftsführung:                                                                           
  Erich Baier                                                                                 
  Sitz der                                                                                    
  Gesellschaft:                                                                               
  Böblingen /                                                                                 
  Registergericht:                                                                            
  Amtsgericht                                                                                 
  Stuttgart, HRB                                                                              
  243294                                                                                      
                                                                                              


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