J'ai le XSL suivant qui définit un espace de noms pour ma classe Java. En un mot, je suis en train de pointer vers un ensemble de ressources différentes en fonction d'une valeur dans mon fichier XML (je sais ressources Bundles sont vraiment pour l'internationalisation, mais pourquoi recréer la roue?):La transformation XSL ne peut pas appeler la méthode Java définie par l'utilisateur
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:java="http://xml.apache.org/xalan/java"
xmlns:pf="my.package.common.PropertiesFinder">
<xsl:variable name="compType" select="//comp_type"/>
<xsl:variable name="props" select="pf:getPropsFile($compType)"/>
<xsl:variable name="DEF6Resources" select="java:util.ResourceBundle.getBundle($props)"/>
Lorsque la transformer runs je reçois l'erreur suivante:
java.lang.NoSuchMethodException: Pour la fonction d'extension, n'a pas pu trouver org.apache.xml.utils.NodeVector.getProps méthode ([ExpressionContext,])
quelqu'un peut-il apporter toute la lumière sur pourquoi cela se passe s'il vous plaît. C'est clairement quelque chose à voir avec mon classpath/loader mais je ne sais pas quoi faire ...
Merci beaucoup d'avance.
Anna
Je ne sais pas pourquoi vous avez une balise "classnotfoundexception", mais le corps contient 'NoSuchMethodException' à la place. –
Où se trouve le fichier jar contenant 'org.apache.xml.utils.NodeVector.getProps()'? Quel est le parcours de classe actuel pour autant que vous le sachiez? Comment passez-vous le classpath au processeur XSLT (que je suppose être Xalan)? Je tire dans l'obscurité, mais il est probable que les réponses à ces q nous aideront et que vous réduisiez le problème. – LarsH