XPath XML:Fonctions XPath applicables aux chaînes de caractères
Un article de WikiTuto.
Concaténation de chaînes avec la fonction concat()
La fonction concat() concatène toutes les chaînes qui lui sont passées en arguments et retourne la chaîne résultant de cette concaténation. Sa syntaxe est concat(chaine1, chaine2, ...). Par exemple, <xsl:value-of select concat('Le livre dont le titre est', livre/titre, ' a été écrit par ', livre/auteur)/> permet ainsi d'afficher la chaîne "Le livre dont le titre est Les Misérables a été écrit par Victor Hugo".
Test de présence d'une sous-chaîne: les fonctions contains() et starts-with()
Ces fonctions permettent de déterminer si une chaîne de caractères est incluse dans une autre, et renvoient un booléen. La fonction starts-with(chaine1, chaine2) renvoie la valeur true si chaine1 commence par la chaine2, false sinon. La fonction contains(chaine1, chaine2) renvoie true si chaine1 contient chaine2, false sinon.
Extraction de sous-chaîne
Il existe trois fonctions permettant d'extraire une sous-chaîne d'une chaîne donnée : substring(), substring-after() et substring-before.
1.La fonction substring(chaine1, decalage, longueur) retourne une sous-chaîne de chaine1 contenant longueur caractères et commençant à decalage. Par exemple, substring("012345", 2, 3) renvoie la chaîne "123" ; 2.La fonction substring-after(chaine1, chaine2) retourne la sous-chaîne de chaine1 qui suit la première occurence de chaine2. Par exemple, substring-after("012345", "2") renvoie la chaîne "345" ; 3.La fonction substring-before(chaine1, chaine2) retourne la sous-chaîne de chaine1 qui précède la première occurence de chaine2. Par exemple, substring-before("012345", "2") renvoie la chaîne "01".
Transformation des caractères d'une chaîne: la fonction translate()
La fonction translate(chaine1, chaine2, chaine3) retourne chaine1 après y avoir remplacé chaque occurence des caractères de chaine2 par le caractère correspondant (c'est-à-dire occupant la même position) de chaine3. Par exemple, pour transformer une lettre quelconque et la mettre en majuscule, on utilise l'appel suivant de la fonction : translate(chaine, "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ").
Suppression des espaces en surnombre: la fonction normalize-space()
Il est parfois nécessaire de supprimer des espaces en surnombre dans une chaîne. La fonction normalize-space(chaine) retourne la chaîne de caractères qu'elle reçoit en argument après en avoir supprimé les espaces situés au début et à la fin, et y avoir remplacé chaque séquence d'espaces successifs par un espace unique.
Longueur d'une chaîne: la fonction string-length()
Cette fonction retourne "classiquement" la longueur de la chaîne qu'elle reçoit en argument.



