Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.22.0
-
Patch Available
-
Unknown
-
Patch
Description
When using relative paths in an XSLT referenced from another one, the used URI scheme may be ignored.
e.g. in case of an XSLT specified by URI "classpath:location/master.xsl", that includes another one: <xsl:include href="../child.xsl"/>
In this case, the URI of child.xsl is resolved as just "child.xsl" instead of "classpath:child.xsl", omitting the URI scheme.
The cause is XsltUriResolver, in which FileUtil.compactPath() is used to calculate the relative URI, but this call ignores the colon separator and considers "classpath:location" as a single path part.
I'm creating a pull request which passes the URI without scheme to FileUtil.compactPath().