BPEL - Manipulation des données XML

XPath est principalement utilisé pour manipuler les XML dans le processus BPEL. Il existe de précieuses fonctions Xpath qui peuvent être utilisées pour manipuler XML. Voyons les fonctions ci-dessous.

bpel: getVaribleData (varName, partName, xpathStr)

Cela peut être utilisé pour extraire un ensemble d'éléments d'une variable, en utilisant une expression 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 ()

Cela peut être utilisé pour évaluer et renvoyer un booléen si un lien particulier est actif ou inactif.

: getVariableProperty (chaîne, chaîne)

Ceci est utile pour extraire les propriétés des variables.

: doXSLTTransform ()

Cela effectue les transformations XSLT.

chaîne ()

Cela peut être utilisé pour extraire le contenu texte des éléments plutôt en utilisant / text ().

Longueur de chaine()

Cette fonction est utilisée pour calculer la longueur de la chaîne. Mais l'opérateur! = Ne semble pas fonctionner avec la sortie de cette fonction. Vous pouvez donc utiliser> ou <plutôt en utilisant! =.

Valeurs booléennes

Vous pouvez affecter des valeurs booléennes avec la fonction booléenne XPath.

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

Attribution d'une date ou d'une heure

Vous pouvez affecter la valeur actuelle d'un champ de date ou d'heure à l'aide de la fonction Oracle BPEL XPath getCurrentDate, getCurrentTime ou getCurrentDateTime, respectivement.

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

Concaténation de chaînes

Plutôt que de copier la valeur d'une variable de chaîne (ou d'une partie ou d'un champ de variable) dans une autre, vous pouvez d'abord effectuer une manipulation de chaîne, comme la concaténation de plusieurs chaînes.

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

Attribution de littéraux de chaîne

Vous pouvez affecter des chaînes littérales à une variable dans 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>

Attribution de valeurs numériques

Vous pouvez attribuer des valeurs numériques dans les expressions 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 - Quelques fonctions XSLT ont été utilisées pour transformer un document XML.