je calcule le niveau des elements selon certaine valeur de l'attribut function dans une structure xml de ce type :
voici mon xsl :
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 <phr type="DP" function="SUBJ"> <w type="PRONOM-PERSONNEL 1 SIN-ING" lemma="je">je</w> </phr> <phr type="AdvP" function="CC"> <w type="ADVERBE" lemma="ne">ne</w> </phr> <phr type="" function="predicate"> <w type="VERBE-IND-PRE 1 2 SIN" lemma="vouloir">veux</w> </phr> <phr type="AdvP" function="CC"> <w type="ADVERBE-NEGATION" lemma="pas">pas</w> </phr> <phr type="TP" function="SO"> <phr type="DP" function="SUBJ"> </phr> <phr type="" function="predicate"> <w type="VERBE-INF" lemma="partir">partir</w> </phr> </phr>
le soucis est qu'il ne me renvoit pas les bons éléments je voudrais qu'il ne prenne en compte que les elements avec certains attribut et pas les
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <xsl:template match="tei:phr[@function='SUBJ']|tei:phr[@function='predicate']|tei:phr[@function='OBJ']|tei:phr[@function='PrepO']|tei:phr[@function='FPO']|tei:phr[@function='CC']"> <xsl:element name="span"> <xsl:attribute name="class"> <xsl:value-of select="concat(@function,count(ancestor::tei:phr[@function='SUBJ']|tei:phr[@function='predicate']|tei:phr[@function='OBJ']|tei:phr[@function='PrepO']|tei:phr[@function='FPO']|tei:phr[@function='CC']))"/> </xsl:attribute> <xsl:apply-templates select="node()"/> </xsl:element> </xsl:template>
autres...je n'ai pas l'impression qu'il le fasse.
merci
Partager