Saltar al contenido

Convertir el primer carácter de cada palabra a mayúsculas

No dejes de compartir nuestro sitio y códigos en tus redes sociales, necesitamos tu ayuda para hacer crecer esta comunidad.

Solución:

Lo siguiente no es “agradable”, y estoy seguro de que a alguien (principalmente Dimitri) se le podría ocurrir algo mucho más simple (especialmente en XSLT 2.0) … pero lo he probado y funciona


  
  
    
      
        
      
       
      
        
      
    
    
      
        
      
    
  



  
  

La idea básica es que llames CamelCase, si encuentra un espacio, corre CamelCaseWord en todo antes de el espacio (es decir, la primera palabra) y luego llama CamelCase otra vez con el todo después el espacio (es decir, el resto de la oración). De lo contrario, si no se encuentra ningún espacio (porque llega a la última palabra de la oración), simplemente llama CamelCaseWord.

El CamelCaseWord plantilla simplemente traduce el primer carácter de inferior a superior (si es necesario) y todos los caracteres restantes de superior a inferior (si es necesario).

Así que para llamarlo tendrías …


   dInEsh sAchdeV kApil Muk

Adicional:

No cumplí con el requisito 1.0 de la pregunta. Esto solo funcionará a partir de la versión 2.0.

Respuesta original a continuación aquí.

Creo que este me funcionó hace un tiempo. Declarar una función:


    
    
        
            
        
        
            
        
        
            
        
    

Y úsalo:


el crédito va a Samjudson => http://p2p.wrox.com/xslt/80938-title-case-string.html

Aquí hay una solución FXSL 1.x de 8 años (una biblioteca XSLT 1.0 escrita completamente en XSLT 1.0):

test-strSplit-to-Words10.xsl:


   

   

   
   
   

    
      
        
          
          
        
      

      
    

    
       
         
           
           
         
         
           
         
       
    

    
      
    

Cuando esta transformación se aplica en el siguiente documento XML (test-strSplit-to-Words10.xml):

004.lightning crashes (live).mp3

el resultado es:

004.Lightning Crashes (Live).mp3

Cuando se aplica a este documento XML (su muestra proporcionada):

dInEsh sAchdeV kApil Muk

el resultado es:

DInEsh SAchdeV KApil Muk

Con solo un pequeño truco, obtenemos este código:


   

   

   
   
   

    
      
        
          
          
        
      

      
    

    
           
           
    

    
      
    

que ahora produce el resultado deseado:

Dinesh Sachdev Kapil Muk

Explicación:

El str-split-word-del plantilla de FXSL se puede utilizar para la tokenización con (posiblemente más de uno) delimitadores especificados como string parámetro.

Comentarios y valoraciones

Nos encantaría que puedieras dar difusión a esta noticia si te valió la pena.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4.5)



Utiliza Nuestro Buscador

Deja una respuesta

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