XSLT in action – rather trivial tricks for XSLT that I always seem to forget


Recently I dipped into XSLT somewhat more seriously than I had done for quite some time. For some reason, I find XSLT not so intuitive to me that all things I once knew are still at the tip of my fingers. Instead, I have to Google quite a lot for things that I assume are pretty trivial. In this post, I describe a number of the issues I ran into that were resolved rather smoothly by looking on the Internet and applying hints, suggestions and code fragments to my specific situation. The post is primarily for my own benefit: the next time I will work with XSLT after a period of low XSLT activity, I will know where to go.

W3Schools – Using XPath string functions in XSLT templates by Brian Schaffner
W3 Org Spec XQuery 1.0 and XPath 2.0 Functions and Operators
Top XML Great XML Tools Tutorials on XSL(T) and XPath, References, Examples and a Code Library

XSLT Libraries and Extensions

XSLT Standard Library The XSLT Standard Library, xsltsl, provides the XSLT developer with a set of XSLT templates for commonly used functions. These are implemented purely in XSLT, that is they do not use any extensions. The standard library is hosted on SourceForge. The functionality includes Date/Time processing, String processing and Math operations.
EXSLT EXSLT is a community initiative to provide extensions to XSLT. The extensions are broken down into a number of modules: Dates and Times, Dynamic, Common, Functions, Math, Random, Regular Expressions, Sets, Strings. Some extensions require specific XSLT engines, others are implemented in general languages such as JavaScript or (even more portable) as XSLT templates (like the XSLT Standard Library):

When it comes down to it, nothing beats a named template for portability. Named templates are pure XSLT 1.0. You don’t have to worry about which XSLT processor you’re using or what it supports to know that you can use named templates. Within EXSLT, we try to provide a named template with as near to the equivalent functionality of each extension function as you can get.

About Author

Lucas Jellema, active in IT (and with Oracle) since 1994. Oracle ACE Director and Oracle Developer Champion. Solution architect and developer on diverse areas including SQL, JavaScript, Docker, Machine Learning, Java, SOA and microservices, events in various shapes and forms and many other things. Author of the Oracle Press books: Oracle SOA Suite 11g Handbook and Oracle SOA Suite 12c Handbook. Frequent presenter on community events and conferences such as JavaOne, Oracle Code and Oracle OpenWorld.

Comments are closed.