BPEL - Manipulación de datos XML

XPath se utiliza principalmente para manipular XML en el proceso BPEL. Hay algunas funciones valiosas de Xpath que se pueden utilizar para manipular XML. Veamos las funciones a continuación.

bpel: getVaribleData (varName, partName, xpathStr)

Esto se puede usar para extraer un conjunto de elementos de una variable, usando una expresión 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 ()

Esto se puede utilizar para evaluar y devolver un booleano si un enlace en particular está activo o inactivo.

: getVariableProperty (cadena, cadena)

Esto es útil para extraer propiedades en Variables.

: doXSLTTransform ()

Esto realiza las transformaciones XSLT.

cuerda ()

Esto se puede usar para extraer contenido de texto de elementos en lugar de usar / text ().

longitud de la cuerda()

Esta función se utiliza para calcular la longitud de la cadena. Pero el operador! = Parece no funcionar con la salida de esta función. ¡Entonces puedes usar> o <en lugar de usar! =.

Valores booleanos

Puede asignar valores booleanos con la función 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>

Asignar una fecha u hora

Puede asignar el valor actual de un campo de fecha u hora mediante la función de Oracle BPEL XPath getCurrentDate, getCurrentTime o getCurrentDateTime, respectivamente.

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

Concatenación de cadenas

En lugar de copiar el valor de una variable de cadena (o parte de variable o campo) a otra, primero puede realizar la manipulación de cadenas, como concatenar varias cadenas.

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

Asignar literales de cadena

Puede asignar cadenas literales a una variable en 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>

Asignar valores numéricos

Puede asignar valores numéricos en expresiones 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 - Se utilizaron algunas funciones XSLT para transformar un documento XML.