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