Fonction normalize-space
Retourne la chaîne d'arguments après en avoir éliminé les espaces en début et en fin de chaîne, ainsi que les espaces doubles.
string normalize-space(string)
Notes
Les espaces blancs sont normalisés par l'élimination des espaces en début et fin de chaîne et en remplaçant les séquences d'espaces blancs par un seul espace.Si l'argument est omis, la fonction normalise et retourne la valeur string du nœud de contexte.
L'appel de fonction suivant retourne « abc def » :
normalize-space(" abc def ")
Si un argument n'est pas du type chaîne , il est converti en chaîne avant d'être évalué.Lisez l'exemple ci-dessous.
Si un argument n'est pas du type chaîne, il est tout d'abord converti en chaîne à l'aide de la fonction string(), puis le résultat de cette conversion est évalué.
Avertissement
Les conversions de chaînesdes collections de nœuds transmises en tant qu'arguments à cette fonction peuvent donner des résultats inattendus.Pour plus d'informations, voir Fonction string.
Cette fonction respecte la casse.
Exemple
L'exemple suivant normalise une chaîne de bloc de texte avec des espaces blancs non normalisés (tabulations, espaces de début et de fin et espaces multiples entre des mots).La chaîne de texte a la valeur d'un élément <text>.
Fichier XML (normSpace.xml)
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"
href="normalizeSpace.xsl"?>
<text>
This is a
test, with a lot of
irregular spacing and
waiting to be normalizaed.
</text>
Fichier XSLT (normSpace.xsl)
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"
omit-xml-declaration="yes"/>
<xsl:template match="/text">
Unnormalized:
"<xsl:value-of select='.'/>"
Normalized: "<xsl:value-of select='normalize-space()'/>"
</xsl:template>
</xsl:stylesheet>
Ce XSLT génère la sortie suivante :
Unormalized:
"
This is a
test, with a lot of
irregular spacing and
waiting to be normalizaed.
"
Normalized:
"This is a test, with a lot of irregular spacing and waiting to be normalized."