BPEL - Управление XML-данными

XPath в основном используется для управления XML-файлами в процессе BPEL. Есть несколько ценных функций Xpath, которые можно использовать для управления XML. Давайте посмотрим на функции ниже.

bpel: getVaribleData (имя_переменной, имя_части, xpathStr)

Это можно использовать для извлечения набора элементов из переменной с помощью выражения 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 ()

Это можно использовать для оценки и возврата логического значения, является ли конкретная ссылка активной или неактивной.

: getVariableProperty (строка, строка)

Это полезно при извлечении свойств из переменных.

: doXSLTTransform ()

Это выполняет преобразования XSLT.

строка ()

Это можно использовать для извлечения текстового содержимого из элементов, а не с помощью / text ().

длина строки ()

Эта функция используется для вычисления длины строки. Но оператор! =, Похоже, не работает с выводом этой функции. Так что вы можете использовать> или <, используя! знак равно

Логические значения

Вы можете присвоить логические значения с помощью булевой функции XPath.

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

Назначение даты или времени

Вы можете назначить текущее значение поля даты или времени с помощью функции Oracle BPEL XPath getCurrentDate, getCurrentTime или getCurrentDateTime соответственно.

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

Объединение строк

Вместо того, чтобы копировать значение одной строковой переменной (или переменной части или поля) в другую, вы можете сначала выполнить манипуляции со строкой, например, объединить несколько строк.

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

Назначение строковых литералов

Вы можете присвоить строковые литералы переменной в 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>

Присвоение числовых значений

Вы можете назначать числовые значения в выражениях 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 - Несколько функций XSLT использовались для преобразования XML-документа.