Allow selection of XSLT processor when using MCRXslStyleResolver

Description

Resolving URIs with the xslStyle URI resolver always uses the globally configured XSLT processor and always looks in the globally configured XSL folder; both borrowed from the layout service. Unlike the xslTransform URI resolver, there is no way to select the XSLT processor and to be used. There is no way to configure the XSL folder to be used. This hinders migration work in MIR and possibly other applications based on MyCoRe.

Additionally, there exists a xslStylXEditor URI resolver as a crutch that uses the XSL folder xsl hardcoded, but still uses the globally configured XSLT processor. This leads to an unfit combination of that folder with Saxon as the XSLT processor during migration wordk.

This ticket suggests to add several preconfigured “flavors” (i.e. combinations of XSLT processor and XSl folder, and possibly further configuration values in the future) and to extend the syntax of the xslStyle URI resolver to select such a flavor.

The following flavors (with names xsl and xslt, respectively) will be configured:

MCR.URIResolver.XSLStyle.Flavor.xsl.TransformerFactoryClass=%XALAN% MCR.URIResolver.XSLStyle.Flavor.xsl.XSLFolder=xsl MCR.URIResolver.XSLStyle.Flavor.xslt.TransformerFactoryClass=%SAXON% MCR.URIResolver.XSLStyle.Flavor.xslt.XSLFolder=xslt

A flavor is selected by adding #{flavor-name} to the end of the configuration part of a xslStyle-URI. Example:

xslStyle:user-xeditor-templates#xsl:webapp:authorization/user-editor.xed

If no flavor is selected, the previous behaviour is used.

Instances of the xslStylXEditor URI resolver can be replaced with the normal xslStyle URI resolver, using the xsl flavor

Environment

None

Activity

Fixed

Details

Assignee

Reporter

Fix versions

Priority

Created April 19, 2024 at 11:04 AM
Updated February 21, 2025 at 9:28 AM
Resolved June 14, 2024 at 12:10 PM