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 11 - Proposal For Vote


I have been working on a resolution of this issue with a few TC members
who are interested in a type of resolution like the one that Danny
presented a few months ago. Please find our current proposal attached.

Regards,
Ugo
Title: Issue 11.2 proposal

Issue 11 - Proposal


1. Append

Syntax:
<bpel:assign>
    <bpel:append>
       <bpel:from ... />
       <bpel:to ... />
    </bpel:append>
</bpel:assign>

The from-spec within <append> yields a single node or a node set. Note that the from-spec of <bpel:copy> still MUST yield ONLY one node. The node set will be processed in document order (unless an alternative order is specified in the underlying query language). If the from-spec yields atomic values (e.g. numbers), those atomic values can be converted to text nodes, when needed. If the from-spec yields zero node, "bpel:selectionFailure" fault MUST be thrown. If the from-spec yields an attribute node, then "bpel:selectionFailure" fault MUST be thrown.

{{ Background context note on XPath 1.0 and XSLT 1.0: the selected set of nodes by XPath 1.0 in XSLT 1.0 is processed in document order. Hence, it is feasible and natural to process the nodes selected by the from-spec in the document order in <append> and other similar XML data operations. For details, please see section 5.4 in [XSLT1.0] specification. }}

The to-spec MUST yield one single element node as the target element node. Otherwise, "bpel:selectionFailure" fault will be generated. The to-spec cannot refer to a partnerLink.  The node-set returned by the from-spec will be appended orderly as child nodes to the target element node.

2. Insert

2.1 insertBefore

Syntax:
<bpel:assign>
    <bpel:insertBefore>
       <bpel:from ... />
       <bpel:to ... />
    </bpel:insertBefore>
</bpel:assign>

The restriction and semantics of from-spec under insertBefore is similar to those in the case of <bpel:append>.

The to-spec under <insertBefore> MUST points to one or more nodes. If more than one nodes are returned, the first node will be used as the reference node. The word "first" here means respect to the order of the node set selected by to-spec, which is by default in document order, unless an alternative order is specified in the underlying query language.

The reference node MUST be an element node. The parent of the reference node MUST be an element node also.  Otherwise, "bpel:selectionFailure" fault will be generated. The to-spec cannot refer to a partnerLink.

The node set generated by the from-spec will be inserted before the reference node in the document order (unless an alternative order is specified in the underlying query language).

2.2 insertAfter

Syntax:
<bpel:assign>
    <bpel:insertAfter>
       <bpel:from ... />
       <bpel:to ... />
    </bpel:insertAfter>
</bpel:assign>

<insertAfter> is very similar to <insertBefore>. Except:

3. Remove

Syntax:
<bpel:assign>
    <bpel:remove>
       <bpel:target ... />
    </bpel:append>
</bpel:assign>

The syntax of "bpel:target" is similar to and a subset of to-spec used in <copy> with the "partnerLink" attribute removed. Similarly, XPath 1.0 is used as the default query language for <target>-spec.

This <remove> operation remove nodes specified by the <target>-spec from their parent nodes. Nodes specified by <target>-spec MAY be multiple. Nodes being removed can be: text nodes, attribute nodes and element nodes.

If the <target>-spec returns zero node, then "bpel:selectionFailure" fault MUST be thrown.


Reference:



[date: 2005-03-30]






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