BPEL - Manipolazione dei dati XML

XPath viene utilizzato principalmente per manipolare XML nel processo BPEL. Ci sono alcune preziose funzioni Xpath che possono essere usate per manipolare XML. Vediamo le funzioni di seguito.

bpel: getVaribleData (varName, partName, xpathStr)

Può essere utilizzato per estrarre un insieme di elementi da una variabile, utilizzando un'espressione 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 ()

Può essere utilizzato per valutare e restituire un valore booleano se un particolare collegamento è attivo o inattivo.

: getVariableProperty (stringa, stringa)

Ciò è utile per estrarre le proprietà nelle variabili.

: doXSLTTransform ()

Questo esegue le trasformazioni XSLT.

corda ()

Questo può essere usato per estrarre il contenuto del testo dagli elementi piuttosto usando / text ().

string-length ()

Questa funzione viene utilizzata per calcolare la lunghezza della stringa. Ma l'operatore! = Sembra non funzionare con l'output di questa funzione. Quindi puoi usare> o <piuttosto usare! =.

Valori booleani

È possibile assegnare valori booleani con la funzione booleana XPath.

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

Assegnazione di una data o di un'ora

È possibile assegnare il valore corrente di un campo data o ora utilizzando la funzione Oracle BPEL XPath getCurrentDate, getCurrentTime o getCurrentDateTime, rispettivamente.

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

Concatenazione di stringhe

Anziché copiare il valore di una variabile di stringa (o di una parte o di un campo di variabile) in un'altra, è possibile prima eseguire la manipolazione delle stringhe, come concatenare più stringhe.

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

Assegnazione di valori letterali di stringa

È possibile assegnare valori letterali stringa a una variabile in 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>

Assegnazione di valori numerici

È possibile assegnare valori numerici nelle espressioni 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 - Alcune funzioni XSLT sono state utilizzate per trasformare un documento XML.