Patrons TreeTagger avec Xslt et Xpath

Les deux feuilles de style ont été utilisées pour transformer la sortie étiquetée par TreeTagger (surface).

Ci-dessous la feuille de style extraction-patrons2.xslt, qui permet d'extraire le patron NOM PREP NOM.
Téléchargement du fichier.
Visualiser les résultats. HTML

							
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html" indent="no"/>
    <xsl:template match="/">
	
	
        <html>
            <body bgcolor="#81808E">
                <table align="center" width="50%" bgcolor="white" bordercolor="#3300FF" border="1">
                    <tr bgcolor="black">
                        <td width="90%" valign="top">
                            <font color="white">
                                <h1>Extraction de patron <font color="red"><b>NOM</b></font>
                                    <font color="blue"><b>PREP</b></font><font color="red"><b>NOM</b></font></h1>
                            </font>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <blockquote>
                                <xsl:apply-templates select=".//element"/>
                            </blockquote>
                        </td>
                    </tr>
                </table>
            </body>
        </html>
    </xsl:template>

    <xsl:template match="element">
        <xsl:choose>
            <xsl:when
                test="(./data[contains(text(),'NOM')]) and (following-sibling::element[1][./data[contains(text(),'PRP')]]) 
				and (following-sibling::element[2][./data[contains(text(),'NOM')]])">
                <font color="red">
                    <xsl:value-of select="./data[3]"/>
                </font>
                <xsl:text> </xsl:text>
            </xsl:when>
            <xsl:when
                test="(./data[contains(text(),'PRP')]) and (preceding-sibling::element[1][./data[contains(text(),'NOM')]]) and (following-sibling::element[1][./data[contains(text(),'NOM')]])">
                <font color="blue">
                    <xsl:value-of select="./data[3]"/>
                </font>
				<xsl:text> </xsl:text>
            </xsl:when>
			<xsl:when
                test="(./data[contains(text(),'NOM')]) and (preceding-sibling::element[1][./data[contains(text(),'PRP')]])
				and (preceding-sibling::element[2][./data[contains(text(),'NOM')]])">
                <font color="red">
                    <xsl:value-of select="./data[3]"/><br/>
                </font>  
            </xsl:when>
        </xsl:choose>
    </xsl:template>

</xsl:stylesheet>

							

Ci-dessous la feuille de style extraction-patrons.xslt, qui permet d'extraire le patron NOM ADJ.
Téléchargement du fichier.
Visualiser les résultats. HTML

							
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html"/>
    <xsl:template match="/">
	
	
        <html>
            <body bgcolor="#81808E">
                <table align="center" width="50%" bgcolor="white" bordercolor="#3300FF" border="1">
                    <tr bgcolor="black">
                        <td width="90%" valign="top">
                            <font color="white">
                                <h1>Extraction de patron <font color="red"><b>NOM</b></font>
                                    <font color="blue"><b>ADJ</b></font></h1>
                            </font>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <blockquote>
                                <xsl:apply-templates select=".//element"/>
                            </blockquote>
                        </td>
                    </tr>
                </table>
            </body>
        </html>
    </xsl:template>

    <xsl:template match="element">
        <xsl:choose>
            <xsl:when
                test="(./data[contains(text(),'NOM')]) and (following-sibling::element[1][./data[contains(text(),'ADJ')]])">
                <font color="red">
                    <xsl:value-of select="./data[3]"/>
                </font>
                <xsl:text> </xsl:text>
            </xsl:when>
            <xsl:when
                test="(./data[contains(text(),'ADJ')]) and (preceding-sibling::element[1][./data[contains(text(),'NOM')]])">
                <font color="blue">
                    <xsl:value-of select="./data[3]"/>
                </font>
                <br/>
            </xsl:when>
        </xsl:choose>
    </xsl:template>

</xsl:stylesheet>