java - जावा/एक्सएसएलटी: एक मिलान 1-तर्क फ़ंक्शन नहीं मिल सकता है




jsp xslt (2)

कहीं अपने एक्सएसएलटी में आप "{ http://exslt.org/dynamic } मूल्यांकन ()" नामक एक फ़ंक्शन का जिक्र कर रहे हैं और आप इसे अपेक्षित तर्कों की संख्या नहीं दे रहे हैं

या ... यह आपके द्वारा जोड़ रहे एक्सटेंशन को खोजने में असमर्थ है।

मुझे निम्नलिखित त्रुटि मिलती है:

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)

मेरी xslt फ़ाइल का शीर्ष है

<?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"> 

क्या आप जानते हैं कि मुझे यह त्रुटि क्यों मिल रही है?

अद्यतन करें

मेरी XML फ़ाइल का शीर्ष अब पढ़ता है

<?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">

और XML जहां हम असफल हो रहे हैं

<xsl:template name="test">
  <xsl:param name="param" />
  <xsl:value-of select="$param"/>
  <xsl:value-of select="xalan:evaluate($param)"/>
</xsl:template>

यह कोड टॉमकेट 5.0 पर चल रहे एक सर्वर पर काम करता है, लेकिन टॉमकेट 5.5 पर चलने वाले सर्वर पर काम नहीं कर रहा है। मैं कल्पना करता हूं क्योंकि कोड एक सर्वर पर काम कर रहा है और यह एक पर्यावरणीय समस्या नहीं है।

एक्सएसएलटी को जेएसपी पृष्ठ के माध्यम से एक्सएमएल पर लागू किया जा रहा है मुझे ऐसा लगता है कि xalan.jar फ़ाइल का उपयोग नहीं किया जा रहा है जेएसपी के ऊपर यह है:

<%@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.*"%>

अपडेट समस्या यह है कि सक्सोन को XML पार्सर के रूप में चुना जा रहा है सक्सोन इस कार्यक्षमता का समर्थन नहीं करता है Saxon.jar को निकालकर समस्या को हल करता है


संभावना है कि आप Xalan के पुराने संस्करण का उपयोग कर रहे हैं

xalan:evaluate() का उपयोग करने की कोशिश xalan:evaluate() एक्सटेंशन।

इस धागे में और पढ़ें।





xalan