11 Stimmen

Kleinschreibung des ersten Zeichens einer Zeichenkette nur mit xslt 1.0

Ich habe gesehen Muster zum Übersetzen einer Zeichenkette in Klein- (oder Groß-) Schrift mit der translate-Funktion für Leute, die mit xslt 1.0 feststecken.

Gibt es eine elegante Möglichkeit, nur den ersten Buchstaben einer Zeichenkette klein zu schreiben?

TestCase => testCase

14voto

Ben Blank Punkte 52357

Wenn Ihre Zeichenkette zum Beispiel in einem Attribut namens name :

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

3voto

MarkusQ Punkte 21488

Sie sollten in der Lage sein, Folgendes zu kombinieren Teilstring y konkaten mit translate, um es so zu machen:

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

0voto

Richard Punkte 103159

Verwenden Sie den XPath translate Funktion, nachdem die Zeichenfolge in das erste Zeichen und den Rest getrennt wurde. Dies erfordert eine etwas langwierige XSLT mit mehreren Variablen, um Zwischenergebnisse zu speichern.

0voto

Benjamin Autin Punkte 4075

XSLT verfügt über eine Teilstring-Funktion, so dass Sie dieses Muster mit der Teilstring-Funktion verwenden können, um das Gewünschte zu erhalten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X