Using the assignments to copy data from one variable to another is useful. However, if we deal with complex XML schemas and have to copy several elements (sometimes, tens of elements), using the <copy>
construct alone would be very time consuming. In such cases, a better approach would be to use XSLT transformations. XSLT transformations also simplify the BPEL code, as the transformation logic is separated in a dedicated XSLT file.
Note
Extensible Stylesheet Language for Transformations (XSLT) is not only a well-known language for transforming XML documents into other XML documents, but also to other formats, such as HTML, text or XSL Formatting Objects. XSLT can be used in most modern programming languages. For more information, please refer to http://www.w3schools.com/xsl/.
The <assign>
activity provides support for XSLT transformations. We can invoke an XSLT transformation from an assignment using the bpel:doXslTransform()
function. The bpel:doXslTransform...