ich die folgende Fehlermeldung erhalten:Java/XSLT: Es kann keine passende 1-Argument Funktion findet
javax.servlet.ServletException: Cannot find a matching 1-argument function named {http://exslt.org/dynamic}evaluate()
at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
Die Spitze meiner xslt-Datei ist
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:dyn="http://exslt.org/dynamic"
extension-element-prefixes="dyn">
Wissen Sie, warum ich immer sein kann dieser Fehler?
UPDATE
Die Spitze meiner XML-Datei liest jetzt.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:xalan="http://xml.apache.org/xalan"
exclude-result-prefixes="xalan">
und die XML, wo wir versagt werden, ist
<xsl:template name="test">
<xsl:param name="param" />
<xsl:value-of select="$param"/>
<xsl:value-of select="xalan:evaluate($param)"/>
</xsl:template>
Diese Codes arbeitet auf einem Server läuft Tomcat 5.0 aber funktioniert nicht auf einem Server mit Tomcat 5.5. Ich stelle mir vor, weil der Code auf einem Server funktioniert und nicht ein Umweltproblem ist.
Das XSLT wird über eine JSP-Seite auf das XML angewendet. Für mich sieht es so aus, als ob die Datei xalan.jar nicht verwendet wird. Der obere Teil der JSP ist:
<%@page import="javax.xml.transform.*"%>
<%@page import="javax.xml.transform.stream.*"%>
<%@page import=" java.security.Principal,
java.net.URL,
java.net.URLConnection,
java.io.InputStream,
java.io.InputStreamReader,
java.io.Reader,
java.io.BufferedReader,
java.io.File,
javax.xml.transform.*,
javax.xml.transform.stream.*,
javax.xml.transform.*,
javax.xml.transform.stream.*"%>
aktualisieren Das Problem ist, dass Saxon als XML-Parser gewählt wird. Saxon unterstützt diese Funktionalität nicht. Das Entfernen der Saxon.jar behebt das Problem.
Wow, obskure :) gut zu wissen. Vielen Dank, dass Sie das Update +1 haben. –