Bonjour !
Je n'arrive pas à récuperer un paramètre xsl:param, explications :
J'ai une page HTML où j'ai préparé une fonction Javascript qui permet de :
-charger les document xml et la feuille de style
-créer un processeur Xslt en lui fournissant la feuille de style
-passer les paramètres éventuels de la feuille de style
-écrire le résultat dans un élément de la page.
Dont le code est le suivant
La feuille de style (fichier ws-xslt.xml ):<html>
<head>
<script type="text/javascript">
var processor;
var xmlDoc;
var xslt;
function print(level, pathLevel, parentName){
processor.setParameter(null,"level", level);
processor.setParameter(null,"pathLevel", pathLevel);
processor.setParameter(null,"parentName", parentName);
var resultat = processor.transformToFragment(xmlDoc, document);
document.body.innerHTML = ""
document.body.appendChild(resultat);
}
function init_xml(){
xslt = document.implementation.createDocument("", "", null);
xslt.async=false;
xslt.load("ws-xslt.xml");
processor =new XSLTProcessor();
processor.importStylesheet(xslt);
xmlDoc= document.implementation.createDocument("", "", null);
xmlDoc.async=false;
xmlDoc.load("ws.xml");
print('frameworks','frameworks','');
}
</script>
</head>
<body>
<script type="text/javascript">
init_xml();
</script>
</body>
</html>
ici normalement le $pathLevel devrait me retourner la valeur 'frameworks' sauf que ça fait une erreur dont en voici la copie d'écran :<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE toto[
<!ENTITY nbsp " " >
]>
<xsl:stylesheet version="1.0" xmlnssl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:param name="level"/>
<xsl:param name="pathLevel"/>
<xsl:param name="parentName"/>
<xsl:template match="/$pathLevel">
<BODY>
<xsl:if test="$level='frameworks'"><xsl:call-template name="fw_list"/></xsl:if>
<xsl:if test="$level='framework'"><xsl:call-template name="listOfModule_from_fw"/></xsl:if>
</BODY>
</xsl:template>
http://www.hiboox.com/image.php?img=hoyob4x.jpg
[IMG]file:///C:/DOCUME%7E1/vlz/LOCALS%7E1/Temp/moz-screenshot.jpg[/IMG]Que faut-il corriger ?
PS : quand je remplace $pathLevelpar frameworks, ca marche
Voici le xml (ws.xml) sur lequel je "travaille" , si ca peut vous servir ..
Merci de votre aide ..<frameworks nbL='152'>
<framework name='fw1' nbL='51'>
<module name='m2' nbL='21'>
</module>
</framework>
</frameworks>
Note : j'ai pas mis tout le code xsl, montrant que le bloc où se trouve la variable $pathLevel qui me pose problème
Partager