BPEL - Manipulando Dados XML

XPath é usado principalmente para manipular XMLs no processo BPEL. Existem algumas funções Xpath valiosas que podem ser usadas para manipular XML. Vamos ver as funções abaixo.

bpel: getVaribleData (varName, partName, xpathStr)

Isso pode ser usado para extrair um conjunto de elementos de uma variável, usando uma expressão 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 ()

Isso pode ser usado para avaliar e retornar um booleano se um link específico está ativo ou inativo.

: getVariableProperty (string, string)

Isso é útil para extrair propriedades em variáveis.

: doXSLTTransform ()

Isso executa as transformações XSLT.

corda ()

Isso pode ser usado para extrair conteúdo de texto de elementos, em vez de usar / text ().

string-length ()

Esta função é usada para calcular o comprimento da string. Mas o operador! = Parece não funcionar com a saída desta função. Portanto, você pode usar> ou <ao invés de usar! =

Valores Booleanos

Você pode atribuir valores booleanos com a função 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>

Atribuindo uma data ou hora

Você pode atribuir o valor atual de um campo de data ou hora usando a função Oracle BPEL XPath getCurrentDate, getCurrentTime ou getCurrentDateTime, respectivamente.

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

Strings de concatenação

Em vez de copiar o valor de uma variável de string (ou parte variável ou campo) para outro, você pode primeiro executar a manipulação de string, como concatenar várias strings.

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

Atribuição de literais de string

Você pode atribuir literais de string a uma variável no 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>

Atribuição de valores numéricos

Você pode atribuir valores numéricos em expressões 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 - Algumas funções XSLT foram usadas para transformar um documento XML.