Bpel-manipulating-xml-data
提供:Dev Guides
BPEL-XMLデータの操作
XPathは主に、BPELプロセスでXMLを操作するために使用されます。 XMLの操作に使用できる貴重なXpath関数がいくつかあります。 以下の機能を見てみましょう。
bpel:getVaribleData(varName、partName、xpathStr)
これは、XPath式を使用して、変数から要素のセットを抽出するために使用できます。
<bpel:copy>
<bpel:from>
<![CDATA[count(bpel:getVariableData(‘$Variable','$partName')/ns:return)]]>
</bpel:from>
<bpel:to variable = "itemNumber">
</bpel:to>
</bpel:copy>
bpel:getLinkStatus()
:getVariableProperty(string、string)
:doXSLTTransform()
文字列()
string-length()
ブール値
XPathブール関数を使用してブール値を割り当てることができます。
<assign>
<!-- copy from boolean expression function to the variable -->
<copy>
<from expression = "true()"/>
<to variable = "output" part = "payload" query="/result/approved"/>
</copy>
</assign>
日付または時刻を割り当てる
Oracle BPEL XPath関数getCurrentDate、getCurrentTime、またはgetCurrentDateTimeをそれぞれ使用して、日付フィールドまたは時間フィールドの現在の値を割り当てることができます。
<!-- execute the XPath extension function getCurrentDate() -->
<assign>
<copy>
<from expression = "xpath20:getCurrentDate()"/>
<to variable = "output" part = "payload"
query = "/invoice/invoiceDate"/>
</copy>
</assign>
文字列の連結
ある文字列変数(または変数部分やフィールド)の値を別の文字列変数にコピーするのではなく、最初に複数の文字列を連結するなどの文字列操作を実行できます。
<assign>
<!-- copy from XPath expression to the variable -->
<copy>
<from expression = "concat('Hello ',
bpws:getVariableData('input', 'payload', '/p:name'))"/>
<to variable = "output" part = "payload" query = "/p:result/p:message"/>
</copy>
</assign>
文字列リテラルの割り当て
BPELの変数に文字列リテラルを割り当てることができます。
<assign>
<!-- copy from string expression to the variable -->
<copy>
<from expression = "'GE'"/>
<to variable = "output" part = "payload" query = "/p:result/p:symbol"/>
</copy>
</assign>
数値の割り当て
XPath式で数値を割り当てることができます。
<assign>
<!-- copy from integer expression to the variable -->
<copy>
<from expression = "100"/>
<to variable = "output" part = "payload" query = "/p:result/p:quantity"/>
</copy>
</assign>
注-XMLドキュメントの変換には、いくつかのXSLT関数が使用されました。