Hi
Alex,
I agree that in this
case expressing the proper constraints using Schema only would result in a very
cumbersome schema specification, so it's fine with me if we add "compensate" to
the "activity" group (this is already informally done in section 6.2, page 26 of
the original spec, where it says "The token activity can be any of the
following:" and includes <compensate> in that list).
The additional contextual constraints should, of
course, be explicitly called out in Appendix D to make sure that readers
understand that the given Schema is not sufficient for complete
validation.
Ugo
-----Original
Message----- From: Alex Yiu [mailto:alex.yiu@oracle.com]
Sent: Wednesday, April 07, 2004 9:50 PM To:
wsbpel@lists.oasis-open.org; Alex Yiu Subject: Re: [wsbpel] Issue - 94
- Proposal to vote
Hi all,
Issue - 94 -
Proposal to vote
Some background from Issue 95: (You can
skip this part, if you don't care too much about the usage of schema
validation)
A <rethrow /> activity element is introduced for
Issue 95 (Rethrow a fault). In theory, we can use schema validation to make
sure rethrow happens only within a fault handler. However, since XMLSchema
version 1.* is mainly context free grammar like (as opposed to context
sensitive), we may need to duplicate a lot of XML definition (e.g. "activity"
vs "activityOrRethrow"; "tSequence" and "tSequenceWithRethrow" and etc), in
order to achieve this constraint in schema validation. This kind of
overhead may be too much for such a minor syntax differentiation. Therefore,
an easier route is taken by just adding "rethrow" to group "activity" and
using implied semantics of the text of the main spec doc to carry out the
post-schema validation
Therefore, I suggest to take a similar route
for Issue 94
Future version of XML Schema (2.0?) may allow us to add
"co-constraint" to specify this kind of contraints more effectively.
Proposal to fix issue 94: (1) Adding compensate to group
"activity" (2) merge tActivityContainer and
tActivityOrCompensateContainer by replacing
all tActivityOrCompensateContainer with
tActivityContainer [That means:
all tActivityContainer now allows compensate activity.
We should
specify in the text in our spec that compensate activity is allowed only
within
a compensation handler]
What do you guys
think? Thanks!
Regards, Alex
Yiu
ws-bpel issues list editor wrote:
This issue has been added to the wsbpel issue list. 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 document with the title in the "Issues" folder of the WSBPEL
TC document list - the next posting 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 - 94 - Allowing a mix of "compensate" and other activities within
a compensation handler or a fault handlerStatus: open Date
added: 2 Feb 2004 Submitter: Ugo Corda Date submitted:
28 January 2004 Description: The BPEL Schema only allows a single
activity to be specified within a compensation handler or a catch clause in
a fault handler. In case multiple activities need to be specified, they can
grouped together under a "group" activity like <sequence> or
<flow>. But that still does not allow mixing "compensate" with other
activities, because the current syntax of sequence, flow, etc. exclude the
presence of "compensate" among its children. Changes: 2 Feb 2004 -
new issue
To comment on this issue, 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 -
94 - [anything]" or is a reply to such a message.
To add a new issue, see the issues procedures document (but the address
for new issue submission is the sender of this announcement).
To unsubscribe from this mailing list (and be removed from the roster of
the OASIS TC), go to http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgroup.php.
|