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.