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: [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                                                               
                                                                       

pic17475.gif



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