Учебники

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

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

bpel: getVaribleData (varName, partName, 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>

Примечание . Несколько функций XSLT были использованы для преобразования XML-документа.