Convertir un texto a mayusculas (toUpper) o minusculas (toLower) con transformadas xslt

Muchas veces, cuando necesitamos manipular texto desde transformaciones xsl, nos encontramos con el caso de que tenemos un texto en mayúsculas o un texto en minúsculas y queremos convertirlo a minúsculas o mayúsculas respectivamente. En cualquier lenguaje, solemos tener métodos para hacer un ToUpper, strtoupper o por el contrario ToLower, strtolower y similares, pero en xsl, al ser tan genérico, no disponemos de ese tipo de funciones, aunque si deberían de estar.

Para suplir esta necesidad, me he creado 2 funciones muy útiles que utilizan la funcion traslate, que comentare en otro articulo. Básicamente lo que hacemos es intercambiar una cadena por la otra en base a lo que va entrando por un texto. Con estas funciones podemos llamar a StringToLower o StringToUpper como si de un template normal se tratase, indicandole el texto que queremos convertir a mayúsculas o convertir a minúsculas y automáticamente nos convertirá la cadena.

El código seria el siguiente:

<!-- Variables globales -->
<xsl:param name="lower" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:param name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
 
<!-- Convierte una cadena de texto, todo en minusculas -->
<!-- @param string text Cadena a convertir a minusculas -->
<!-- @return Cadena en minusculas -->
<xsl:template name="StringToLower">
  <xsl:param name="text"/>
  <xsl:value-of select="translate($text,$upper,$lower)"/>
</xsl:template>
 
<!-- Convierte una cadena de texto, todo en mayusculas -->
<!-- @param string text Cadena a convertir a mayusculas -->
<!-- @return Cadena en mayusculas -->
<xsl:template name="StringToUpper">
  <xsl:param name="text"/>
  <xsl:value-of select="translate($text,$lower,$upper)"/>
</xsl:template>
 
<xsl:call-template name="StringToLower">
  <xsl:with-param name="text"
      select="'Mi texto que quiere ser Reemplazado a minusculas'" />
</xsl:call-template>
<xsl:call-template name="StringToUpper">
  <xsl:with-param name="text"
      select="'Mi texto que quiere ser Reemplazado a mayusculas'" />
</xsl:call-template>

El resultado de esta tranformacion del StringToLower seria "mi texto que quiere ser reemplazado a minúsculas" y la segunda llamada con el StringToUpper seria "MI TEXTO QUE QUIERE SER REEMPLAZADO A MAYUSCULAS". Esto es algo muy útil para trabajar con textos.

6 comentarios en “Convertir un texto a mayusculas (toUpper) o minusculas (toLower) con transformadas xslt

  1. Pingback: Bitacoras.com
  2. Hola estimado,
    Estoy buscando la función que has creado para mi template. Al leer tu post me ilusioné por que describes mi problema al pie de la letra; sin embargo, mi ilusión duró poco ya que cuando llegué justo a la parte del código no visualicé nada. Me quedé en blanco como el lienzo donde debería estar el código o.0!
    Cuelga el código por fa.
    Saludos;

  3. En caso que no te aparezca Emoji entre las opciones, reinicia tu iPhone a fin de que lo reconozca.
    En USA, Francia, Alemania, Italia, Para hacer más grande el texto y los emoticones, simplemente debes volver
    a oprimir la tecla T. Si lo oprimes de nuevo vas a centrar el texto.

    Asimismo disponible de autocorrección, 30 diccionarios de
    los idiomas más esenciales, Personalizar la interfaz multi-toque, mudar color del teclado, hasta poner una imagen personal.

  4. Indudablemente ya iba siendo hora de que se pudiera usar el whatsapp en el PC, mucho se hablo de soluciones bastantes complicadas para poder instalarlo en el ordenador, aun hubo
    hace dos meses una operación de la policia contra un estafador que
    con la disculpa del whatsapp en la pc te metia un troyano.
    Alex todo mi sueño se hizo mediante re_uniting mi matrimonio, amigos
    en caso de que necesite la ayuda de Deseo dar de baja mi cuenta de fb pues
    ya no me acuerdo de la clave de acceso aparte ya no
    kiero tener esta cuenta ya que tengo una nueva me podrian asistir.
    Alex todo mi sueño se hizo mediante re_uniting mi matrimonio, amigos caso de que necesite la ayuda de Dr.
    Alex el enorme lanzador de hechizos que fue
    capaz de traer a mi marido de vuelta a casa, el No puedo entrar a mi correo, que pasa,
    urge que arreglen esto, parece fraude solicitan asta el numero de la tarjeta de credito, que pas con microsoft
    ya quiere marchar bien.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *