Soon after XSLT 1.0 was released it became clear that a lot of computations are very difficult to do. So people started to standardize and code their own extensions. This a very simple task in ABAP because we have both: xsl:function and sap:external-function . If we share out code we should be able to create a library for XSLT utilities.
Within the EXSLT project very active members of the XSLT community started to discuss useful extension, standardized them and started implementations. A lot of those functions are supported by a lot of XSLT processors (and even by the ABAP XSLT processor) and some of them made it into the standard XSLT 2.0.
In my ABAP XML Library project I’m starting to implement XSLT functions. The first one is regexp:test( ) which tests whether a given string matches a regular expression. It is a very easy task by creating an external function and doing the check in ABAP.
XSLT Function Library
Besides implementing EXSLT functions we can also share other XSLT functions that perform useful operations. If you want to join this approach you can join my ABAP XML Library project and add them to the library.
If you decide to do so please be aware of the following:
- axl-library is an Open Source project under Apache License. So I suggest that you only add self-written functions to avoid any license conflicts.
- Please choose an appropriate namespace. This is either the EXSLT-namespace for EXSLT-functions or the namespace related to the library.
- I suggest to use my small XSLT Unit framework of the library and add an XSLT programm which performs some tests. Using this approach we can get a high software quality and this is also a service for other users who can see how to use your function.