Passage en majuscules/minuscules

En XSLT 1.0, il n’est pas possible de faire directement appel à une fonction du style uppercase() ou lowercase() pour assurer le passage en majuscules (ou minuscules) d’une chaîne de caractères. Il faut se trourner vers l’instruction translate().

Exemple en XSLT 1.0 :

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0">

<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />

<xsl:template match="/">
  <xsl:value-of select="translate(title, $lowercase, $uppercase)" />
  <xsl:value-of select="translate(reference, $uppercase, $lowercase)" />
</xsl:template>

</xsl:stylesheet>

En XSLT 2.0 par contre, on dispose des fonctions “upper-case” et “lower-case”. Ce qui facilite la tâche.

Exemple en XSLT 2.0:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0">

<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />

<xsl:template match="/">
  <xsl:value-of select="upper-case(title)" />
  <xsl:value-of select="lower-case(reference)" />
</xsl:template>

</xsl:stylesheet>