Bonjour,

J'ai ce document
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<doc>
    <ent>
        <R>maison</R><I>italique</I><R>la maison voir </R><I>renvoi du mot</I><R>avoir</R><I>le chaton</I>
    </ent>
    <ent>
        <R>voir</R><I>demain</I><R>toit</R><I>bleu</I><R>(voir </R><I>renvoi du mot</I><R>le chaton</R>
    </ent>
</doc>
Je dois renommer <I> quand il est précédé d'un <R> dans lequel se trouve 'voir' .

J'ai essayer en passant par une regex mais malgré les doc je ne trouve pas la bonne syntaxe.
Voil

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
<xsl:template match="/">
        <xsl:apply-templates/>
    </xsl:template>
 
    <xsl:template match="I">
        <xsl:choose>
            <xsl:when test="preceding-sibling::*[1][self::R and . = 'REGEX????->(^| |\()[Vv]oir( *)']">
                <ref><xsl:value-of select="."/></ref>
            </xsl:when>
 
            <xsl:otherwise>
                <pasRef><xsl:value-of select="."/></pasRef>
            </xsl:otherwise>
        </xsl:choose>
 
        </xsl:template>
 
    <xsl:template match="R">
        <toto><xsl:apply-templates/></toto>
    </xsl:template>
Si quelqu'un a une idée
Merci