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