空要素の配列と等価の機能の生成
genEmptyElem関数では、空要素の配列と等価の機能がXML構造に生成されます。この関数は、次の引数をとります。
               
genEmptyElem('ElemQName',int?, 'TypeQName'?, boolean?)
次の点に注意してください。
- 
                     最初の引数では、空要素の QNameを指定します。
- 
                     2番目の引数はオプションで整数型であり、空要素の数を指定します。指定されていない場合、デフォルトのサイズは 1です。
- 
                     3番目の引数はオプションで、生成される空の名前の xsi:typeとなるQNameを指定します。このxsi:typeパターンは、SOAPENC:Arrayに相当します。指定されていないか、空の文字列である場合、xsi:type属性は生成されません。
- 
                     4番目のオプションのブール型引数は、要素がXSD-nillableの場合に、生成される空の要素が XSI - nilかどうかを指定します。デフォルト値はfalseです。指定されていないか、falseである場合、xsi:nilは生成されません。
次の例に、poの下で10個の空の<lineItem>要素を使用して発注書(PO)を初期化するappend文を示します。
               
<bpelx:assign> 
    <bpelx:append>
        <bpelx:from expression="ora:genEmptyElem('p:lineItem',10)" />
        <bpelx:to variable="poVar" query="/p:po" /> 
    </bpelx:append>
</bpelx:assign>
前述の例のgenEmptyElem関数は、次の例のように埋込みXQuery式で置き換えることができます。
               
ora:genEmptyElem('p:lineItem',10) 
== for $i in (1 to 10) return <p:lineItem />
この関数により生成される空要素は、通常は無効なXMLデータです。空要素の作成後に、さらにデータの初期化を実行します。前述と同じ例を使用して、次の操作を実行できます。
- 
                     空の lineItem要素に属性要素と子要素を追加します。
- 
                     copy操作を実行して空要素を置き換えます。たとえば、flowNアクティビティの下で、この等価配列内の個別エントリにWebサービスの結果からコピーします。