Hola jcamposortiz!
EN XSL 1.0 no existe una función que te transforme a mayúsculas una cadena de texto tienes que construirla tú. Aquí te dejo la función:
Código:
<xsl:template name="toUppercase">
<xsl:param name="cadena" select="''" />
<xsl:value-of select="translate($cadena,'aábcdeéfghiíjklmnñoópqrstuúüvwxyz','AÁBCDEÉFGHIÍJKLMNÑOÓPQRSTUÚÜVWXYZ')" />
</xsl:template>
Para que veas que funciona perfectamente prueba el siguiente ejemplo:
archivo.xml
Código:
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="archivo.xsl"?>
<palabra>alohA</palabra>
archivo.xsl
Código:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<xsl:call-template name="toUppercase">
<xsl:with-param name="cadena">
<xsl:value-of select="palabra/text()" />
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template name="toUppercase">
<xsl:param name="cadena" select="''" />
<xsl:value-of select="translate($cadena,'aábcdeéfghiíjklmnñoópqrstuúüvwxyz','AÁBCDEÉFGHIÍJKLMNÑOÓPQRSTUÚÜVWXYZ')" />
</xsl:template>
</xsl:stylesheet>
Ahora abres el archivo.xml con el internet explorer y verás como transforma perfectamente lo que pongas en la etiqueta
a mayúsculas.
Un beso