<?xml version="1.0"  encoding="ISO-8859-1" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<!--

  Cette transformation convertit tous les contenus-textes en majuscules,
  que ce soit dans les éléments ou dans les attributs,
  en gardant la même structure que le xml source.

   - le premier "template" recopie les noeuds,
   - le deuxième template recopie les attributs
     et transforme le texte en majuscule,
   - le troisième transforme le texte en majuscule.

La passage en majuscules se fait forcément via translate.

-->

  <xsl:output method="xml" indent="yes"/>

  <xsl:template match="*">
   <xsl:copy>
     <xsl:apply-templates select="*|@*|text()"/>
   </xsl:copy>
  </xsl:template>

  <xsl:template match="@*">
   <xsl:attribute name="{name()}">
     <xsl:value-of select="translate(.,'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
   </xsl:attribute>
  </xsl:template>

  <xsl:template match="text()">
    <xsl:value-of select="translate(.,'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
  </xsl:template>

</xsl:stylesheet>
