BPEL - manipulowanie danymi XML
XPath jest używany głównie do manipulowania plikami XML w procesie BPEL. Istnieje kilka cennych funkcji Xpath, których można użyć do manipulowania XML. Zobaczmy poniżej funkcje.
bpel: getVaribleData (varName, partName, xpathStr)
Można tego użyć do wyodrębnienia zestawu elementów ze zmiennej przy użyciu wyrażenia 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 ()
Można to wykorzystać do oceny i zwrócenia wartości logicznej, czy dane łącze jest aktywne, czy nieaktywne.: getVariableProperty (ciąg, ciąg)
Jest to pomocne w wyodrębnianiu właściwości zmiennych.: doXSLTTransform ()
Wykonuje transformacje XSLT.strunowy ()
Można tego użyć do wyodrębnienia zawartości tekstowej z elementów, a nie za pomocą / text ().Długość łańcucha()
Ta funkcja służy do obliczania długości łańcucha. Ale operator! = Wydaje się nie działać z danymi wyjściowymi tej funkcji. Możesz więc użyć> lub <raczej używając! =.Wartości logiczne
Możesz przypisać wartości logiczne za pomocą funkcji boolowskiej XPath.
<assign>
<!-- copy from boolean expression function to the variable -->
<copy>
<from expression = "true()"/>
<to variable = "output" part = "payload" query="/result/approved"/>
</copy>
</assign>
Przypisywanie daty lub godziny
Bieżącą wartość pola daty lub godziny można przypisać odpowiednio za pomocą funkcji Oracle BPEL XPath getCurrentDate, getCurrentTime lub getCurrentDateTime.
<!-- execute the XPath extension function getCurrentDate() -->
<assign>
<copy>
<from expression = "xpath20:getCurrentDate()"/>
<to variable = "output" part = "payload"
query = "/invoice/invoiceDate"/>
</copy>
</assign>
Łączenie ciągów
Zamiast kopiować wartość jednej zmiennej łańcuchowej (lub części zmiennej lub pola) do innej, można najpierw wykonać operację na ciągach, na przykład połączyć kilka ciągów.
<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>
Przypisywanie literałów ciągów
Do zmiennej w BPEL można przypisać literały łańcuchowe.
<assign>
<!-- copy from string expression to the variable -->
<copy>
<from expression = "'GE'"/>
<to variable = "output" part = "payload" query = "/p:result/p:symbol"/>
</copy>
</assign>
Przypisywanie wartości liczbowych
W wyrażeniach XPath można przypisywać wartości liczbowe.
<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 - Do transformacji dokumentu XML wykorzystano kilka funkcji XSLT.