[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [wsbpel] Issue - 92.6 - proposal to vote
Hi all, Formal proposal to vote: changing from "SHOULD" to "should" highlighed in GREEN compared with the last draft. ================================== Proposal Draft for Issue 92.6: need for an explicit syntax token to apply extension semantics from a NS URILast modified: May 17, 2005 - 5 pm PDTApplied the following the text to the paragraph describing <extension> syntax: -------------------------------------------- An extension declaration through <extension> syntax does not automatically imply the application of any extension semantics defined in the corresponding namespace to the process definition. It merely declares the properties of the namespace of extension, such as, using "mustUnderstand" attribute to denote whether a WS-BPEL processor can safely ignore related extensions. In order to apply an extension semantics to a WS-BPEL process definition, one MUST use and include the corresponding syntax token (either in an element form or an attribute form) explicitly in the WS-BPEL source code and attach the token to a WS-BPEL extensible construct. The extension semantics can ONLY affect BPEL constructs within the syntax sub-tree of the element where the explicit syntax token attached to. In other words, extension syntax token MUST NOT "leak" its semantics outside the subtree. As WS-BPEL source code itself is an XML document, the definition of syntax sub-tree is trivial and can be borrowed from self-or-descendant concept from XML world. Here are two examples to illustrate the above concept further: <process> ... <scope> <sequence> <invoke operation="operation1" foo:invokeProperty="someNature" ... /> <invoke operation="operation2" ... /> <invoke operation="operation3" foo:invokeProperty="someNature2" ... /> </sequence> </scope> </process> The "foo:invokeProperty" extension attribute are applied to <invoke> activities for "operation1" and "operation3". The <invoke> activity for "operation2" MUST NOT be affected. <process> ... <scope> <foo:invokeProperty>someNature</foo:invokeProperty> <sequence> <invoke operation="operation1" ... /> <invoke operation="operation2" ... /> <invoke operation="operation3" ... /> </sequence> </scope> </process> On the other hand, the "foo:invokeProperty" extension element can be potentially applied to all <invoke> activities within the <scope> activity where the extension element are attached to. Apart from the above "MUST" restrictions, here are some extra recommended guidelines for the design of extension syntax and semantics:
================================== Regards, Alex Yiu |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]