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:
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 thexslTransform
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 folderxsl
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
andxslt
, 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 axslStyle
-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 normalxslStyle
URI resolver, using thexsl
flavor