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.