Comment faites-vous la conversion de cas en XSL?
<xsl:variable name="upper">UPPER CASE</xsl:variable>
<xsl:variable name="lower" select="???"/>
Comment faites-vous la conversion de cas en XSL?
<xsl:variable name="upper">UPPER CASE</xsl:variable>
<xsl:variable name="lower" select="???"/>
Dans XSLT 1.0, les fonctions upper-case()
et lower-case()
ne sont pas disponibles. Si vous utilisez une feuille de style 1.0, la méthode courante de conversion de cas est translate()
:
<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
<xsl:template match="/">
<xsl:value-of select="translate(doc, $lowercase, $uppercase)" />
</xsl:template>
XSLT 2.0 a
upper-case()
etlower-case()
fonctionne. Dans le cas de XSLT 1.0, vous pouvez utilisertranslate()
:la source
L'implémentation .NET XSLT permet d'écrire des fonctions gérées personnalisées dans la feuille de style. Pour les minuscules (), cela peut être:
Supposons que cela puisse être lent, mais toujours acceptable.
N'oubliez pas d'activer la prise en charge des scripts intégrés pour la transformation:
la source
return (stringValue ?? string.Empty).ToLower();
. Merci @Vladislav, je n'ai jamais su que vous pouviez faire ça!la source
Pour le codage de caractères ANSI:
la source
majuscules (chaîne) et minuscules (chaîne)
la source