Écrit par Neil Deakin.
Traduit par Alain B. (18/07/2005).
Page originale :
http://www.xulplanet.com/tutorials/xulqa/q_tmpl_child-iterate-recurse.html
Ce gabarit parcourt une liste d'enfants mais le fait récursivement. Tout d'abord, il génère une liste d'enfants, et ensuite pour chaque noeud, il répète le gabarit pour obtenir les petits-fils des noeuds. La mise en oeuvre nécessite un vbox
puisque les éléments imbriqués sont ajoutés comme enfants de la balise avec l'attribut uri
. Si nous utilisions le libellé à la place, les items imbriqués seraient générés comme enfants du libellé et ils ne s'afficheraient pas à l'écran. Quelques règles de styles ont été utilisées pour montrer la structure du contenu généré.
Voir Voir la source de données
<vbox datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/all-animals">
<template>
<rule>
<conditions>
<content uri="?uri"/>
<member container="?uri" child="?animal"/>
<triple subject="?animal"
predicate="http://www.some-fictitious-zoo.com/rdf#name"
object="?name"/>
</conditions>
<action>
<vbox uri="?animal" style="border: 1px solid grey; margin: 1em;">
<label value="?name"/>
</vbox>
</action>
</rule>
</template>
</vbox>
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.