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