BPEL - Thao tác dữ liệu XML
XPath chủ yếu được sử dụng để thao tác các XML trong quy trình BPEL. Có một số hàm Xpath có giá trị có thể được sử dụng để thao tác với XML. Hãy cho chúng tôi xem các chức năng bên dưới.
bpel: getVaribleData (varName, partName, xpathStr)
Điều này có thể được sử dụng để trích xuất một tập hợp các phần tử từ một biến, sử dụng biểu thức 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 ()
Điều này có thể được sử dụng để đánh giá và trả về Boolean cho dù một liên kết cụ thể đang hoạt động hay không hoạt động.: getVariableProperty (chuỗi, chuỗi)
Điều này rất hữu ích trong việc trích xuất các thuộc tính trong Biến.: doXSLTTransform ()
Điều này thực hiện các phép biến đổi XSLT.chuỗi ()
Điều này có thể được sử dụng để trích xuất nội dung văn bản ra khỏi các phần tử thay vì sử dụng / text ().chiều dài chuỗi()
Hàm này dùng để tính độ dài của chuỗi. Nhưng toán tử! = Dường như không hoạt động với đầu ra từ hàm này. Vì vậy, bạn có thể sử dụng> hoặc <thay vì sử dụng! =.Giá trị Boolean
Bạn có thể gán các giá trị boolean bằng hàm boolean XPath.
<assign>
<!-- copy from boolean expression function to the variable -->
<copy>
<from expression = "true()"/>
<to variable = "output" part = "payload" query="/result/approved"/>
</copy>
</assign>
Chỉ định ngày hoặc giờ
Bạn có thể gán giá trị hiện tại của một trường ngày hoặc giờ bằng cách sử dụng hàm getCurrentDate, getCurrentTime hoặc getCurrentDateTime của Oracle BPEL XPath.
<!-- execute the XPath extension function getCurrentDate() -->
<assign>
<copy>
<from expression = "xpath20:getCurrentDate()"/>
<to variable = "output" part = "payload"
query = "/invoice/invoiceDate"/>
</copy>
</assign>
Nối các chuỗi
Thay vì sao chép giá trị của một biến chuỗi (hoặc một phần hoặc trường biến) sang một biến khác, trước tiên bạn có thể thực hiện thao tác với chuỗi, chẳng hạn như nối nhiều chuỗi.
<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>
Gán chữ viết chuỗi
Bạn có thể gán các ký tự chuỗi cho một biến trong BPEL.
<assign>
<!-- copy from string expression to the variable -->
<copy>
<from expression = "'GE'"/>
<to variable = "output" part = "payload" query = "/p:result/p:symbol"/>
</copy>
</assign>
Gán giá trị số
Bạn có thể gán giá trị số trong biểu thức XPath.
<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 - Một số hàm XSLT đã được sử dụng để chuyển đổi một tài liệu XML.