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.