Upgrade internal XSLT processor
Currently Rosetta seems to accept only XSLT 1.0 syntax for XSLT configuration files. This means we are deprived of the many goodies of XSLT 2.0 and 3.0:
- strong typing and XSD types
- XPATH 2.0 sequences
- XSL functions
- range variables
- regular expression matching and grouping
- URL encoding and decoding
- better value comparison
EXSLT 1.0 is not supported either, so whenever I try to do something more intelligent that some simple markup and string replacing, I hit the limits of XSLT 1.0. Trying to make decisions in your XSLT based on element values without regular expressions is a big PITA - if possible at all - and leads to huge XSLTs that nobody can read afterwards, not even the author.
And don't get me started on the nice things that XSLT 3.0 provides like JSON, attribute and text value templates, dynamic evaluation, packages and tons of extra/enhanced XPATH 3.0 functions.
5.5 already includes XSLT 2.0 support in the XSLs files used for delivery – IE and file metadata, XSLT viewer and customized SRU response. 6.1 will include XSLT 2.0 in OAI transformation xsl
-
Hi Kris,
We've come across several legal hurdles for upgrading to Saxon 9.8 HE, so before we confront them I would appreciate if you could elaborate on the Rosetta use cases which require XSLT > 1.0. There are currently several XSLs in Rosetta using XSLT 2.0 and we can possibly modify others to use 2.0, depending on your needs.
Thank you,
Daniel -
Hi Kris,
Thank you for your suggestion. We will be upgrading Rosetta to Saxon 9.8 HE which provides implementations of XSLT 3.0. As described in the documentation (https://www.saxonica.com/documentation/index.html#!conformance/xslt30) the majority of the features you describe will be included, excluding Dynamic Evaluation. Thank you, Daniel