Closed thvitt closed 3 years ago
It looks like the problem boils down to the transitively included config.xsl, at least with the gradle branch.
Actually, it looks as if the problem is with fn:resolve-uri($base, $relative)
and the static base uri in the XsltServlet driven stylesheets. If I try to resolve against xmldb:exist:///db/apps/faust-dev/something
we get a 'non-hierarchical URI' complaint, if we just try to resolve against the static-base-uri (which is /db/apps/faust-dev/something) we get a complaint 'base URI is not absolute'.
The difference is in the Saxon version that ships with the different eXist versions. eXist up to 4.7 includes a Saxon (that is quite old and doesn’t recognize XSLT 3) which lets fn:resolve-uri($relative)
return the empty sequence when fn:static-base-uri()
returns the empty sequence. The newer Saxon in eXist 5.0.0 throws an error (FORG02) about a non-absolute $base.
Basically this means we’ll have to secure our uses of resolve-uri against static empty base uris.
when deploying the search app to eXist 5.0.0, queries to the
/text
and/meta
endpoints fail with an NPE. These are those queries that post-process the query results using XSLT:Removing the
<view>
element and its content causes the exception to disappear (but of course results are not transformed, in this case).The NPE is: