Considérons le document XML suivant (sortie
d'un étiqueteur)
<?xml version="1.0" encoding="iso-8859-1"?>
Supposons que nous souhaitions créer un nouveau document XML contenant
les couples (wordform, lemma) trouvées dans ce document.
<doc> <taggersent> <taggertoken wordform="Il" lemma="il" pos="PRO"/> <taggertoken wordform="était" lemma="être" pos="VER:sg"/> <taggertoken wordform="une" lemma="un" pos="DET:femi:sg"/> <taggertoken wordform="fois" lemma="fois" pos="NOM:femi:sg"/> <taggertoken wordform="," lemma="," pos="PUN"/> <taggertoken wordform="les" lemma="le" pos="DET:masc:pl"/> <taggertoken wordform="voleurs" lemma="voleur" pos="NOM:masc:pl"/> <taggertoken wordform="étaient" lemma="étayer|être" pos="VER:pl"/> <taggertoken wordform="dans" lemma="dans" pos="PRP"/> <taggertoken wordform="la" lemma="le" pos="DET:femi:sg"/> <taggertoken wordform="forêt" lemma="forêt" pos="NOM:femi:sg"/> <taggertoken wordform="." lemma="." pos="PUN"/> </taggersent> </doc>
<xsl:template match="expression XPath"> sortie correspondante </xsl:template> [ page sur xsl:template... ] Le deuxième template s'applique à tous les éléments taggertoken et spécifie qu'il faut générer en sortie, pour chacun d'eux , un élément couple. Chaque élément couple a deux enfants, form et lemma, dont les valeurs respectives dépendent des atttibuts de l'élément taggersent. Notez au passage la syntaxe de l'expression : <xsl:value-of select="expression XPath"/> L'expression XPath contenue dans select est ici relative au noeud courant, à savoir taggertoken. [ page sur xsl:value-of... ] Le premier template s'applique à l'élément racine du document source et spécifie qu'il faut générer pour cet élément un élément couples. <xsl:apply-templates/> est une instruction spécifiant qu'il faut appliquer les autres patrons qui concordent pour les enfants de l'élément courant. [ page sur xsl:apply-template... ] Nous allons voir dans la suite comment le processeur XSLT génère la sortie à partie du document XML et de la feuille XSLT : quelles règles de transformation sont appliquées ? Dans quel ordre ? Sur quels éléments ?
|