Wie führt man eine Fallkonvertierung in XSL durch?
<xsl:variable name="upper">UPPER CASE</xsl:variable>
<xsl:variable name="lower" select="???"/>
Wie führt man eine Fallkonvertierung in XSL durch?
<xsl:variable name="upper">UPPER CASE</xsl:variable>
<xsl:variable name="lower" select="???"/>
In XSLT 1.0 sind die Funktionen upper-case()
und lower-case()
nicht verfügbar. Wenn Sie ein 1.0-Stylesheet verwenden, lautet die übliche Methode zur Konvertierung von Groß- und Kleinschreibung 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 hat
upper-case()
undlower-case()
funktioniert. Im Fall von XSLT 1.0 können Sie Folgendes verwendentranslate()
:quelle
Mit der .NET XSLT-Implementierung können benutzerdefinierte verwaltete Funktionen in das Stylesheet geschrieben werden. Für Kleinbuchstaben () kann es sein:
Angenommen, das kann langsam sein, aber immer noch akzeptabel.
Vergessen Sie nicht, die Unterstützung für eingebettete Skripte für die Transformation zu aktivieren:
quelle
return (stringValue ?? string.Empty).ToLower();
. Danke @Vladislav, ich wusste nie, dass du das kannst!quelle
Für die ANSI-Zeichenkodierung:
quelle
Großbuchstaben (Zeichenfolge) und Kleinbuchstaben (Zeichenfolge)
quelle