Bug #603
closedXSLT works only under JRE1.4
0%
Description
Full XSLT styling in the MetaViewer panes (which pulls XSLT from a jar file)
works only if running under JDK1.4. In jdk1.3, exception is:
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; Line#: 88; Column#: 54 (doesn't say what file this is in!!)
javax.xml.transform.TransformerException: A location step was expected following
the '/' or '//' token.
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
If the config file settings are changed so that every eml module maps to the
default XSL stylesheet instead of its own custom stylesheet, then it works under
JDK1.3 too, without the errors. However, but the triples are not shown by the
defautl CSS - so there's no way to navigate around - and the metadata's far from
readable :-(
Note that, when the default XSL is being used, this had an <xsl:import... >
statement in it, which loads OK; it also uses the default CSS stylesheet, which
also loads OK (provided there are no Font-face definitions in the CSS -
otherwise this crasp out on Linux) - it therefore looks liek the path stuff is
all OK (with regard to pulling things out of JAR files). Note also that JDK1.4
ships with the JAXP packages - and these are almost certainly being put in the
classpath in ahead of XALAN?
Maybe the parser that comes with JAXP (crimson??) is less picky about syntax, so
it doesn't throw the error mentioned above, whereas XALAN picks it up? Maybe it
would be worth changing the XSLT files one by one until the line number in the
error changes, to track down the problem? Note that these XSLT files are from
eml module, and work OK in production metacat (but what version of Xalan is that?)
Updated by Jing Tao about 22 years ago
The problem to cause the exception is in stylesheet itself.
In apply-templates element, some file use select="./" or select ="somevalue/"
for xpath expression. They are invalidate. It should be changed to select ="."
or select="somevalue".
Now metadata display can be run in both java 1.3 and java 1.4.