BPEL - Memanipulasi Data XML

XPath terutama digunakan untuk memanipulasi XML dalam proses BPEL. Ada beberapa fungsi Xpath yang berharga yang dapat digunakan untuk memanipulasi XML. Mari kita lihat fungsinya di bawah ini.

bpel: getVaribleData (varName, partName, xpathStr)

Ini dapat digunakan untuk mengekstrak sekumpulan elemen dari variabel, menggunakan ekspresi 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 ()

Ini dapat digunakan untuk mengevaluasi dan mengembalikan Boolean apakah link tertentu aktif atau tidak.

: getVariableProperty (string, string)

Ini berguna dalam mengekstraksi properti di Variabel.

: doXSLTTransform ()

Ini melakukan transformasi XSLT.

string ()

Ini dapat digunakan untuk mengekstrak konten teks dari elemen daripada menggunakan / text ().

string-length ()

Fungsi ini digunakan untuk menghitung panjang string. Tetapi operator! = Tampaknya tidak bekerja dengan keluaran dari fungsi ini. Jadi Anda bisa menggunakan> atau <lebih tepatnya menggunakan! =.

Nilai Boolean

Anda dapat menetapkan nilai boolean dengan fungsi boolean XPath.

<assign>
   <!-- copy from boolean expression function to the variable -->
   <copy>
      <from expression = "true()"/>
      <to variable = "output" part = "payload" query="/result/approved"/>
   </copy>
</assign>

Menetapkan Tanggal atau Waktu

Anda dapat menetapkan nilai saat ini dari bidang tanggal atau waktu dengan menggunakan fungsi getCurrentDate, getCurrentTime, atau getCurrentDateTime Oracle BPEL XPath.

<!-- execute the XPath extension function getCurrentDate() -->
<assign>
   <copy>
      <from expression = "xpath20:getCurrentDate()"/>
      <to variable = "output" part = "payload"
      query = "/invoice/invoiceDate"/>
   </copy>
</assign>

String Penggabungan

Daripada menyalin nilai dari satu variabel string (atau bagian variabel atau bidang) ke yang lain, Anda dapat melakukan manipulasi string terlebih dahulu, seperti menggabungkan beberapa string.

<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>

Menetapkan Literal String

Anda dapat menetapkan literal string ke variabel di 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>

Menetapkan Nilai Numerik

Anda dapat menetapkan nilai numerik dalam ekspresi 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>

Note - Beberapa fungsi XSLT digunakan untuk mengubah dokumen XML.