空要素の配列と等価の機能の生成
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サービスの結果からコピーします。