XML as core technology is essential to the world of IT. We use XML for data exchange between business partners, integration of applications, to configure our programs, for the wording of rule sets using domain specific languages, from code generation to web programming.
SAP Web Application Server provides powerful tools which are introduced in this SAP publication:
- XML Library
- XSLT Processor and
- Simple Transformations.
The examples to present these technologies to you are taken from the field of data exchange. In cases where ABAP means do not suffice, JAVA integration is used. As an example a validation against an XML Schema as web service was implemented.
When I was writing this SAP publication, I tried to not isolate the single topics from the overall context of their application, but to use a more comprehensive approach. What is to consider from the specifications to the first test runs, which aspects have to be taken into account when the application is no longer a prototype and becomes a product? A whole chapter is dedicated to these topics.
Primarily two things seemed crucial to me: XML’s reputation as a “performance killer”, and to include the relatively young standard XSLT 2.0.
Concerning performance it is correct that XSL transformations lack scalability, therefore one should consider using serial transformation technologies when it comes to huge XML documents.
In the world of JAVA, in my opinion, STX is a very promising candidate and actually my current focus of research about which I am writing a series of weblog entries in SDN.
In an ABAP environment Simple Transformations are the first choice to transform XML to APAB data and back. Simple Transformations are symmetric: a program can be used for serialization as well as for deserialization. An ST program can access XML data only in strictly linear fashion, whereas ABAP data can be accessed in random access mode. Concerning expressiveness, ST programs are restricted. Typical applications consist for example of projections, renamings, permutations, addition of constant attributes and elements, deepening of XML hierarchies with constant elements, and conditional transformations that depend on the existence of XML subtrees.
Another important topic is the new XSLT 2.0 standard. It received mixed reactions: On the one hand it comprises necessary and long overdue elements, on the other hand there is well-founded criticism concerning the way it is implemented.
Irrespective of the accession of this standard, I am sure that in the future no developer of XSL transformation can ignore it, for it increases productivity, and allows for more readable, more elegant high-performance programs.
When SAP XSLT processor was developed, this standard had been in a very early phase of development, but it already included important elements such as:
- the definition of user specific XPath-functions
- the support of several output documents
- grouping functions
- the ability to work with XPath functions on variables that are stored in node sets. (Abolition of the so-called result-fragment-tree.)
Likewise are being described: the SAP specific restrictions, extentions, and special features of the XSLT processor as well as ABAP integration. This information is of utmost importance when portable transformations are generated that have to run on various platforms. With one of my projects for example, I met the challenge that I had to develop XSLT 2.0. programs, which were to run on a non-SAP platform, while I wanted to port those into an ABAP environment later on.
Insofar this publication not only is of interest to the practitioner who wants to use SAP Web Application Servers to its full capacity, but for everyone who wants to use XML technologies on this platform.