D'après la réponse de ce lien :
http://www.stylusstudio.com/xsllist/...post51290.html
Cela vient du fait que avec :
1 2 3
| <xsl:variable name="arbre">
<xsl:copy-of select="theGroups/group"/>
</xsl:variable> |
la variable $arbre contient une donnée de type "tree fragment" et non pas de type "node-list". Il n'est donc pas possible d'y acceder comme un node avec un "for-each" dessus ensuite.
La première solution consiste à triturer le code pour obtenir un "node-list" :
<xsl:variable name="arbre" select="theGroups/group"/>
La deuxième solution consiste à utiliser une fonction étendue node-set() :
1 2 3 4
| <xsl:variable name="arbre1">
<xsl:copy-of select="theGroups/group"/>
</xsl:variable>
<xsl:variable name="arbre" select="exslt:node-set($arbre1)"/> |
(Voir http://www.exslt.org/exsl/functions/node-set/index.html pour comprendre comment ça marche)
(Les fonctions étendues ne sont pas disponibles partout...)
La troisième solution consiste à utiliser un parseur qui fait du XSLT1.1 et pas du XSLT1.0
Partager