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-документа.