Écrit par Neil Deakin.
Traduit par Alain B. (19/07/2005).
Page originale :
http://www.xulplanet.com/tutorials/xulqa/q_tmpl_iterate-type.html
Ce gabarit parcourt tous les animaux, mais les filtres de conteneurs sont basés sur leur type plutôt que sur l'attribut iscontainer. Le premier triplet utilise le prédicat RDF de type pour obtenir les noeuds qui sont des classes d'animaux. La seconde règle trouvera tous les animaux.
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.w3.org/1999/02/22-rdf-syntax-ns#type"
object="http://www.some-fictitious-zoo.com/rdf#Class"/>
<triple subject="?animal"
predicate="http://www.some-fictitious-zoo.com/rdf#name"
object="?name"/>
</conditions>
<action>
<hbox uri="?animal">
<label class="header" value="?name"/>
</hbox>
</action>
</rule>
<rule>
<button uri="rdf:*" label="rdf:http://www.some-fictitious-zoo.com/rdf#name"/>
</rule>
</template>
</vbox>