en minuscule le premier caractère d'une chaîne utilisant uniquement xslt 1.0

StackOverflow https://stackoverflow.com/questions/655284

  •  19-08-2019
  •  | 
  •  

Question

J'ai vu patterns pour traduire une chaîne en minuscule (ou majuscule) à l'aide de la fonction de traduction pour les personnes bloquées à l'aide de xslt 1.0.

Existe-t-il un moyen élégant de simplement mettre la première lettre d’une chaîne en minuscule?

TestCase => testCase
Était-ce utile?

La solution

Si votre chaîne figurait, par exemple, dans un attribut appelé nom :

<xsl:value-of select="concat(translate(substring(@name, 1, 1), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), substring(@name, 2))"/>

Autres conseils

Vous devriez pouvoir combiner sous-chaîne . et concattez avec la traduction pour le faire à votre guise:

concat(translate(substring(s,1,1), $smallcase, $uppercase),substring(s,2))

Utilisez la fonction XPath translate , après avoir séparé la chaîne en premier caractère et le reste. Cela nécessitera un XSLT un peu long utilisant plusieurs variables pour conserver les résultats intermédiaires.

XSLT a une fonction de sous-chaîne, vous pouvez donc utiliser ce modèle avec la fonction de sous-chaîne pour obtenir ce que vous voulez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top