Générer des items avec des chaînes provenant de différents noeuds concaténés

Cet exemple génère un libellé listant les animaux favoris. Nous utilisons une série de triplets pour obtenir les noms des humains, la liste des animaux et les noms des animaux. Dans le libellé, vous plaçons plusieurs variables pour afficher une chaîne de caractères formatée. Le symbole ^ signifie une concaténation sans espace, et il est utilisé ici pour mettre au pluriel le nom des animaux. Naturellement, cette technique ne fonctionnera que si les mots au pluriel prennent un s.

Les résultats sont affichés dans un ordre arbitraire puisque la liste des animaux favoris n'est pas une séquence. Notez que les noms des humains et les noms des animaux sont affichés correctement bien que nous parcourons les animaux favoris. En fait, le constructeur de gabarit maintient les variables de liaisons pour chaque étape du processus.

Voir   Voir la source de données

<vbox datasources="animals.rdf" ref="http://www.some-fictitious-zoo.com/humans">
  <template>
    <rule>
      <conditions>
          <content uri="?uri"/>
          <member container="?uri" child="?human"/>
          <triple subject="?human"
                  predicate="http://www.some-fictitious-zoo.com/rdf#name"
                  object="?humanname"/>
          <triple subject="?human"
                  predicate="http://www.some-fictitious-zoo.com/rdf#favoriteAnimal"
                  object="?favoriteAnimal"/>
          <triple subject="?favoriteAnimal"
                  predicate="http://www.some-fictitious-zoo.com/rdf#name"
                  object="?animalname"/>
      </conditions>
      <action>
        <label uri="?favoriteAnimal" value="?humanname aime les ?animalname^s"/>
      </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.