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: Issue - R33 - Optional XML Data in Assignments


This issue has been added to the wsbpel issue list with a status of "received". The status will be changed to "open" if a motion to open the issue is proposed and that motion is approved by the TC. A motion could also be proposed to close it without further consideration. Otherwise it will remain as "received".

The issues list is posted as a Technical Committee document to the OASIS WSBPEL TC pages on a regular basis. The current edition, as a TC document, is the most recent version of the document entitled in the "Issues" folder of the WSBPEL TC document list - the next posting as a TC document will include this issue. The list editor's working copy, which will normally include an issue when it is announced, is available at this constant URL.

Issue - R33 - Optional XML Data in Assignments

Status: received
Date added: 9 Nov 2006
Date submitted: 08 November 2006
Submitter: Dieter König
Description: When XML data is defined as optional (minOccurs="0") then you may run into a selectionFailure when accessing an absent element in a from-spec. OTOH, it is a likely business scenario to have business objects with several optional subelements. If multiple of these optional subelements must be copied individually (the key here is that you actually access the subelements) you end up with an exponentially growing number of selectionFailure fault handling combinations for something that is perfectly valid (i.e. you'd have to model all these).

Another approach to address this situation is the following:

   <if>
      <condition> count($variable/optionalelement) = 1 </condition>
      <assign>
         <copy>
            <from> $variable/optionalelement </from>
            <to> ... </to>
         </copy>
      </assign>
   </if>

The downside of this is that you get a flood of activities AND that you would *not* be able to do multiple <copy>'s in an atomic way anymore (since there'd always be a check for == 1 needed).
Submitter's proposal: Introduce a new attribute suppressFromSelectionFailure="yes|no" on <copy> (the default is "no"). If set to "yes" then the <copy> would be a *no-op* instead of throwing selectionFailure when the from-spec returns zero nodes. Note that the selectionFailure would still be thrown when you try to access an nonexistent element in the *to*-spec.

Optionally - to be discussed as well - apply the following variations:

  1. add the new attribute also to higher-level elements (<assign>, <scope>, <process>) in order to let multiple <copy> elements inherit its value.
  2. add the new attribute to <from> instead of <copy> and let it also apply also variable initializations.

Changes: 9 Nov 2006 - new issue

To comment on this issue (including whether it should be accepted), please follow-up to this announcement on the wsbpel@lists.oasis-open.org list (replying to this message should automatically send your message to that list), or ensure the subject line as you send it starts "Issue - R33 - [anything]" or is a reply to such a message. If you want to formally propose a resolution to an open issue, please start the subject line "Issue - R33 - Proposed resolution", without any Re: or similar.

To add a new issue, see the issues procedures document



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