Bonjour,

Pour les besoins de mon application, j'ai besoin d'utiliser la fonction fn:current-dateTime, défini ici : http://www.w3.org/2005/xpath-functions/#current-dateTime

Donc, je déclare mon espace de nom ici :

<xsl:stylesheet version="2.0" xmlns:fn="http://www.w3.org/2005/xpath-functions"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">




Seulement, à la compilation, j'ai l'erreur suivante :

a écrit :
Impossible de trouver un objet de script ou d'extension associé à l'espace de noms 'http://www.w3.org/2005/xpath-functions'.



Pourtant, c'est bien l'espace de nom que l'on me dit d'utiliser. Du coup, je ne comprend pas pourquoi j'ai cette erreur ...

C'est pourquoi je vous demande si quelqu'un a déja eu ce problème, ou si vous aviez une idée d'où ça viens, voire comment résoudre le problème

Merci d'avance !

L.
Bonsoir,

je me demande bien avec quel compilateur tu utilises mais les interpreteurs que j'ai sur mon pc me dise que j'utilise la version 1 de xslt.

Ma page de test:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="2.0" xmlns:fn="http://www.w3.org/2005/xpath-functions"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
	<xsl:value-of select="system-property('xsl:version')"/>
</xsl:template>

</xsl:stylesheet>

Je pense que les interpréteur ne supporte tous simplement pas xslt2.0. Peut-être que le w3c en fournit un pour ?

Tester avec Firefox, php + xsltprocessor et xsltproc en ligne de commande. Avec opera j'ai un plantage Smiley ohwell
Si je ne me trompe pas, tous utilise libxslt…
Il s'agit d'un espace de nom pour XSLT 3, pas pour XSLT 2.

http://www.w3.org/TR/2011/WD-xpath-functions-30-20111213/

Il faut aussi que ton moteur connaisse ce jeu de fonction. Je ne crois pas que ce soit dans les pré-requis XSLT. Si ton moteur ne connait pas les fonctions de ce namespace et que tu tentes d'en appeler une, ça va effectivement râler.

Note : Du point de vue du moteur ton erreur est bien que le namespace n'est pas reconnu, mais en fait elle arrive quand tu tentes d'utiliser une fonction de ce namespace. Si tu te contentes de la déclaration xmlns ça ne râlera pas (bon, mais ça ne servira à rien). Ca te permettra de vérifier que c'est bien un problème de jeu de fonction non reconnu.