Il est possible en effet que cela ne corresponde plus. J'ai fait quelques changements à la volée et la version online est différente du code ici.
Rentrons dans le détail :
Ceci permet de faire un include d'une feuille externe. Pour ma part, je mets dans ce genre de feuilles des templates réutilisables sur tout le site
Ce sont justement les fameux templates.
Il en existe en gros deux sortes.
- Les templates 'Fonction' qui prennent des paramètres (comme celui au dessus).
- Les templates 'Nommés' qui s'appuient sur une branche spécifique de ton arborescence XML
Il n'y a jamais de retour de valeur avec les templates.
Dans le code exposé, le template s'appelle "node" et prends trois paramètres : name, parent et level
Les $ sont utilisés par les variables et les paramètres. Tout paramètre ou variable déclaré peut être invoqué avec la syntaxe $nomduparam.
Point intéressant : un paramètre peut contenir une valeur fixe ou toute une branche de l'arbre XML.
{ } est un substitut pour xsl:value-of
Cependant, il ne s'utilise que sur les attributs en ligne des tags HTML.
La syntaxe équivalente (<ul class="ul_<xsl:value-of select="$level mod 2" />"> ) pose un problème d'interprétation au processeur XSL car le select utilise un délimiteur " identique au délimiteur d'attribut.
{ } permet donc de s'affranchir de ce problème.
Pour info, j'essaye de faire un petit tuto XSL pour la réalisation d'une FAQ.
Rentrons dans le détail :
Code :
<xsl:import href="reference.xsl" />
Code :
<xsl:template name="node">
<xsl:param name="name" />
<xsl:param name="parent" />
<xsl:param name="level" />
Il en existe en gros deux sortes.
- Les templates 'Fonction' qui prennent des paramètres (comme celui au dessus).
- Les templates 'Nommés' qui s'appuient sur une branche spécifique de ton arborescence XML
Il n'y a jamais de retour de valeur avec les templates.
Dans le code exposé, le template s'appelle "node" et prends trois paramètres : name, parent et level
Code :
<xsl:if test="count(//nom[@parent=$parent])>0">
Point intéressant : un paramètre peut contenir une valeur fixe ou toute une branche de l'arbre XML.
Code :
<ul class="ul_{$level mod 2}">
Cependant, il ne s'utilise que sur les attributs en ligne des tags HTML.
La syntaxe équivalente (<ul class="ul_<xsl:value-of select="$level mod 2" />"> ) pose un problème d'interprétation au processeur XSL car le select utilise un délimiteur " identique au délimiteur d'attribut.
{ } permet donc de s'affranchir de ce problème.
Pour info, j'essaye de faire un petit tuto XSL pour la réalisation d'une FAQ.
Quand on te dit qu'un projet est terminé à 90%, prépare toi pour les 90% suivant
Ninety-Ninety Rule
"Une guerre de religions, c'est quand deux peuples s'entretuent pour savoir qui a le meilleur ami imaginaire"
Vu sur IRC
Ninety-Ninety Rule
"Une guerre de religions, c'est quand deux peuples s'entretuent pour savoir qui a le meilleur ami imaginaire"
Vu sur IRC