Nous définissons un seul patron, qui s'applique à
la racine de l'arbre. Nous spécifions, pour cet élément,
de générer une ligne "Forme : ..."
pour tous les descendants de type form.
Une fois la racine traitée, la transforamation est terminée.
L'instruction for-each sera détaillée
plsu tard.
<xsl:template match="couple"> Forme :
<xsl:value-of select="form"/>
</xsl:template>
</xsl:stylesheet>
Un patron est défini pour les éléments couple.
Pour les éléments situés plus haut dans l'arborescence,
les règles par défaut sont appliquées (et ne
produisent aucune sortie).
Lorsqu'un élément couple
est atteint, une ligne "Forme : ..."
est générée et le traitement continue sans
s'intéresser aux autres enfants de couple.
<xsl:template match="form"> Forme :
<xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>
Deux patrons sont définis ici :
un patron générant la ligne attendue pour tous
les éléments form ;
un patron s'appliquant aux éléments lemma
produisant une sortie vide. Ce patron surdéfinit
(pour cet élément) la règle par défaut
s'appliquant aux noeuds de type text.