Bonjour à tous,
je travaille sur en projet en TAL et je dois mettre en valeur des patrons morpho-syntaxiques (ici NOM et ADJ).
Je travaille à partir d'un fichier xml qui ressmble à ca :
Et voici mon code pour mettre en valeur ce pattern ADJ-NOM. Le problème c'est que ma template qui match //data ne s'execute pas. Je crois savoir pourquoi mais je ne peux pas faire autrement. Je ne maitrise pas assez bien Xpath et Xslt.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <item number="1"> <titre><article> <element><data type="type">PRO:DEM</data><data type="lemma">ce</data><data type="string">Ce</data></element> <element><data type="type">PRO:REL</data><data type="lemma">que</data><data type="string">que</data></element> <element><data type="type">NOM</data><data type="lemma">l’on</data><data type="string">l’on</data></element> <element><data type="type">VER:pres</data><data type="lemma">savoir</data><data type="string">sait</data></element> <element><data type="type">PRP</data><data type="lemma">de</data><data type="string">de</data></element> <element><data type="type">NOM</data><data type="lemma">l’attentat</data><data type="string">l’attentat</data></element> <element><data type="type">PRP:det</data><data type="lemma">du</data><data type="string">du</data></element> <element><data type="type">NAM</data><data type="lemma">Nouvel</data><data type="string">Nouvel</data></element> <element><data type="type">NAM</data><data type="lemma">An</data><data type="string">An</data></element> <element><data type="type">PRP</data><data type="lemma">dans</data><data type="string">dans</data></element> <element><data type="type">DET:ART</data><data type="lemma">un</data><data type="string">un</data></element> <element><data type="type">NOM</data><data type="lemma">club</data><data type="string">club</data></element> <element><data type="type">ADJ</data><data type="lemma">d’Istanbul</data><data type="string">d’Istanbul</data></element> <element><data type="type">SENT</data><data type="lemma">.</data><data type="string">.</data></element> </article> </titre>
Enfin elle s’exécute bien mais elle n'affiche rien.
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:myNS="http://devedge.netscape.com/2002/de"> <xsl:output method="html"/> <xsl:template match="/"> <html> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="//item"> <p> <xsl:for-each select="//element"> <xsl:apply-templates/> </xsl:for-each> </p><br /> </xsl:template> <xsl:template match="//data"> <xsl:choose> <xsl:when test="data[@type='type']='NOM' or data[@type='type']='ADJ'"> <b><font color="yellow"><xsl:value-of select="data[@type='string']/text()"/></font></b> <font color="blue"><xsl:value-of select="data[@type='lemma']/text()"/></font> <i><font color="green"><xsl:value-of select="data[@type='type']/text()"/></font></i> </xsl:when> <xsl:otherwise> <xsl:value-of select="data[@type='string']/text()"/> <font color="blue"><xsl:value-of select="data[@type='lemma']/text()"/></font> <i><font color="green"><xsl:value-of select="data[@type='type']/text()"/></font></i> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet>![]()
Partager