BPEL - Manipulieren von XML-Daten

XPath wird hauptsächlich zum Bearbeiten von XMLs im BPEL-Prozess verwendet. Es gibt einige wertvolle Xpath-Funktionen, die zum Bearbeiten von XML verwendet werden können. Lassen Sie uns die Funktionen unten sehen.

bpel: getVaribleData (varName, partName, xpathStr)

Dies kann verwendet werden, um mithilfe eines XPath-Ausdrucks eine Reihe von Elementen aus einer Variablen zu extrahieren.

<bpel:copy>
   <bpel:from>
   <![CDATA[count(bpel:getVariableData(‘$Variable','$partName')/ns:return)]]>
   </bpel:from>
      <bpel:to variable = "itemNumber">
   </bpel:to>
</bpel:copy>

bpel: getLinkStatus ()

Dies kann verwendet werden, um einen Booleschen Wert auszuwerten und zurückzugeben, ob ein bestimmter Link aktiv oder inaktiv ist.

: getVariableProperty (Zeichenfolge, Zeichenfolge)

Dies ist hilfreich beim Extrahieren von Eigenschaften in Variablen.

: doXSLTTransform ()

Dies führt die XSLT-Transformationen durch.

string ()

Dies kann verwendet werden, um Textinhalte aus Elementen zu extrahieren, anstatt / text () zu verwenden.

String-Länge()

Diese Funktion wird verwendet, um die Länge der Zeichenfolge zu berechnen. Der Operator! = Scheint jedoch nicht mit der Ausgabe dieser Funktion zu arbeiten. Sie können also> oder <verwenden, anstatt! =.

Boolesche Werte

Sie können boolesche Werte mit der booleschen XPath-Funktion zuweisen.

<assign>
   <!-- copy from boolean expression function to the variable -->
   <copy>
      <from expression = "true()"/>
      <to variable = "output" part = "payload" query="/result/approved"/>
   </copy>
</assign>

Zuweisen eines Datums oder einer Uhrzeit

Sie können den aktuellen Wert eines Datums- oder Zeitfelds mithilfe der Oracle BPEL XPath-Funktion getCurrentDate, getCurrentTime bzw. getCurrentDateTime zuweisen.

<!-- execute the XPath extension function getCurrentDate() -->
<assign>
   <copy>
      <from expression = "xpath20:getCurrentDate()"/>
      <to variable = "output" part = "payload"
      query = "/invoice/invoiceDate"/>
   </copy>
</assign>

Verketten von Strings

Anstatt den Wert einer Zeichenfolgenvariablen (oder eines variablen Teils oder Felds) in eine andere zu kopieren, können Sie zunächst eine Zeichenfolgenmanipulation durchführen, z. B. mehrere Zeichenfolgen verketten.

<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>

String-Literale zuweisen

Sie können einer Variablen in BPEL Zeichenfolgenliterale zuweisen.

<assign>
   <!-- copy from string expression to the variable -->
   <copy>
      <from expression = "'GE'"/>
      <to variable = "output" part = "payload" query = "/p:result/p:symbol"/>
   </copy>
</assign>

Numerische Werte zuweisen

Sie können numerische Werte in XPath-Ausdrücken zuweisen.

<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 - Einige XSLT-Funktionen wurden zum Transformieren eines XML-Dokuments verwendet.