BPEL 1.1のbpelx:insertBefore
次に、BPELバージョン1.1をサポートするBPELプロジェクトのbpelx:insertBefore
の例を示します。
<bpel:assign> <bpelx:insertBefore> <bpelx:from ... /> <bpelx:to ... /> </bpelx:insertBefore> </bpel:assign>
bpelx:insertBefore
内のfrom-spec
問合せでは、0(ゼロ)個以上のノードが取得されます。ノード・リストは、to-spec
問合せで指定したターゲット・ノードに子ノードとして追加されます。
insertBefore
操作のto-spec
問合せは、1つ以上の単一L-Valueノードを指し示します。複数のノードが返された場合は、最初のノードが参照ノードとして使用されます。参照ノードは要素ノードである必要があります。参照ノードの親も要素ノードである必要があります。それ以外の場合は、bpel:selectionFailure
フォルトが生成されます。from-spec
問合せの選択により生成されたノード・リストは、参照ノードの前に挿入されます。to-spec
問合せではパートナ・リンクを参照できません。
次の例に、<insertBefore>
の実行前の構文を示します。addrVar
の値は次のとおりです。
<a:usAddress> <a:state>CA</a:state> <a:zipcode>94065</a:zipcode> </a:usAddress>
次の例に、実行後の構文を示します。
<bpel:assign>
<bpelx:insertBefore>
<bpelx:from>
<a:city>Redwood Shore></a:city>
</bpelx:from>
<bpelx:to "addrVar" query="/a:usAddress/a:state" />
</bpelx:insertBefore>
</bpel:assign>
次の例に、addrVar
の値を示します。
<a:usAddress>
<a:city>Redwood Shore</a:city>
<a:state>CA</a:state>
<a:zipcode>94065</a:zipcode>
</a:usAddress>