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.