<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      exclude-result-prefixes="xs"
      version="2.0">
    <xsl:param name="fileName" select="''" as="xs:string"/>
    <xsl:output method="text"></xsl:output>
    
    
    <xsl:template match="//etat">
        <xsl:variable name="etat" select="."/>
        <xsl:variable name="distinctTableColum">
            <xsl:value-of select="distinct-values($etat//sql-index/concat(@table,'.',@column,';'))"/>
        </xsl:variable>
        
        <xsl:variable name="duplicatedIndexes">
            <xsl:for-each select="tokenize($distinctTableColum,';')">
                <xsl:variable name="value" select="replace(.,' ','')" as="xs:string"/>
                <xsl:if test="count($etat//sql-index[replace(concat(@table,'.',@column),' ','') = $value]) &gt; 1">
                    <xsl:value-of select="$etat//sql-index[replace(concat(@table,'.',@column),' ','') = $value][last()]/@id"/>\                    
                </xsl:if>
            </xsl:for-each>
        </xsl:variable>
        
        <xsl:if test="string-length($duplicatedIndexes) &gt; 0">
            Ce fichier d'index <xsl:value-of select="$fileName"/> contient des index dupliqués dans l'état <xsl:value-of select="./@id"/>. Les suivants sont probablement à supprimer :
            <xsl:value-of select="$duplicatedIndexes"/>
        </xsl:if>
    </xsl:template>
    
    <xsl:template match="text()"></xsl:template>

</xsl:stylesheet>
