[XSL] Chapitre 3 - Variables XSL et fonctions d'agrégation - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [XSL] Chapitre 3 - Variables XSL et fonctions d'agrégation (/showthread.php?tid=1897) |
[XSL] Chapitre 3 - Variables XSL et fonctions d'agrégation - Roworll - 18-10-2007 Troisième chapître sur XSL et ses possibilités. Accrochez vous, ça commence à devenir sportif. Je vous recommande de lire au préalable le contenu des deux premiers tutoriaux si vous n'avez pas une bonne expérience sur XSL. Les Variables Une variable en XSL se déclare grace au tag <xsl:variable name="" select=""/> L'attribut name contient le nom de la variable L'attribut select contient sa valeur Les variables s'utilisent en préfixant leur nom par un $. Petit exemple Code PHP :
Elles ne sont pas dynamiques. Il est impossible en effet de changer à la volée le contenu d'une variable. On doit la redéfinir si on veut changer sa valeur. <xsl:variable name="incremental" select="$incremental + 1"/>, ne fonctionnera pas. De la même manière, on ne peut pas déclarer deux fois la même variable dans un même bloc. Code PHP :
Elles ont une portée limitée au noeud dans lequel elles sont déclarées Une variable est visible dans le noeud qui l'a déclaré et dans tous les noeuds enfants. Code PHP :
Elles peuvent contenir des valeurs fixes ou une partie de l'arborescence d'un document XML C'est ici que les variables montrent leur puissance. Dans l'attribut select, il est possible de spécifier une expression XPath de manière à stocker le résultat pour une utilisation ultérieure. Prenons par exemple le XML suivant Code PHP :
Code PHP :
Les fonctions d'aggrégation Ce sont les fonctions de type sum(), count(), etc. XSL peut faire ce genre d'opérations sur les fichiers XML. Ces fonctions prennent en paramètre une expression XPath <xsl:value-of select="count(//eqp)" /> va renvoyer le nombre de noeuds ayant "eqp" pour nom <xsl:variable name="max_att" select="max(//unite/@att)" /> va renvoyer la valeur maximum de l'attribut "att" existant pour les noeuds "unite" et mettre le tout dans la variable $max_att Voici un fichier le XSL qui sert d'exemple pour illustrer ces explications sur les variables et les fonctions d'aggrégation. Il y a une utilisation intensive des variables, des fonctions d'aggrégation Code PHP :
Fichiers utilisés pour ce tutorial Fichier XML Fichier XSL Résultat RE: XSL : Chap 3 - Variables XSL et fonctions d'aggrégation - Plume - 05-11-2007 L'aide pour ce tutoriel ce trouve à cette adresse : http://www.jeuweb.org/board/showthread.php?tid=2751 |