нижний регистр первый символ строки, использующий только xslt 1.0 - PullRequest
11 голосов
/ 17 марта 2009

Я видел паттерны для перевода строки в нижний (или верхний регистр) с использованием функции перевода для людей, застрявших с использованием xslt 1.0.

Есть ли элегантный способ сделать первую букву строки строчной?

TestCase => testCase

Ответы [ 4 ]

13 голосов
/ 17 марта 2009

Если ваша строка была, например, в атрибуте с именем name:

<xsl:value-of select="concat(translate(substring(@name, 1, 1), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), substring(@name, 2))"/>
3 голосов
/ 17 марта 2009

Вы можете комбинировать подстроку и concat с переводом, чтобы сделать это так:

concat(translate(substring(s,1,1), $smallcase, $uppercase),substring(s,2))
0 голосов
/ 17 марта 2009

XSLT имеет функцию подстроки, поэтому вы можете использовать этот шаблон с функцией подстроки, чтобы получить то, что вы хотите.

0 голосов
/ 17 марта 2009

Используйте функцию XPath translate, разделив строку на первый символ и остальные. Для этого потребуется несколько затянувшийся XSLT с использованием нескольких переменных для хранения промежуточных результатов.

...