Toutes mes excuses pour les commentaires sur ce vieux fil, mais pour les autres trouver comme moi, vous pourriez aussi utiliser du javascript si vous utilisez un MS transformateur:
Déclarer la "msxsl" espace de noms:
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
Déclarer un espace de noms pour votre script:
xmlns:js="urn:custom-javascript"
(Facultatif) Omettre les préfixes de la sortie:
exclude-result-prefixes="msxsl js"
Si vous vous retrouvez avec une feuille de style xsl déclaration comme ceci:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:js="urn:custom-javascript"
exclude-result-prefixes="msxsl js">
Écrire le code JavaScript de la msxsl:élément de script:
<msxsl:script language="JavaScript" implements-prefix="js">
<![CDATA[
function javascriptFunction(dateValue){
var date = new Date(dateValue);
if(!isNaN(date)) return date.toLocaleString();
return dateValue;
}
]]>
</msxsl:script>
Appel de la fonction JavaScript (à l'aide de la syntaxe XPath '.' dénotant 'ce nœud'):
<xsl:value-of select="js:javascriptFunction(string(.))"/>
NB: Comme de l'écriture, il ne semble pas être un (xsl) de manière à inclure externe js fichiers (par exemple. bibliothèque jquery). Cela pourrait être fait par l'analyse du fichier xsl côté serveur avant la transformation et de l'ajout de la js contenu du fichier comme une chaîne de caractères dans une section CDATA. J'ai commencé à aller dans cette voie moi-même, mais a conclu que, si vous avez besoin de ce niveau de fonctionnalité, il serait mieux placé dans une autre partie de la canalisation.
source: http://dev.ektron.com/kb_article.aspx?id=482
ref: http://www.ibm.com/developerworks/xml/library/x-tipxsltjs/index.html