问题 小写仅使用xslt 1.0的字符串的第一个字符


我见过 模式 对于使用xslt 1.0卡住的人来说,使用translate函数将字符串转换为较低(或大写)。

是否有一种优雅的方式只是将字符串的第一个字母小写?

TestCase => testCase

7162
2018-03-17 17:37


起源



答案:


例如,如果您的字符串位于名为的属性中 name

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

13
2018-03-17 17:48



正是我需要的。谢谢 - CraftyFella


答案:


例如,如果您的字符串位于名为的属性中 name

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

13
2018-03-17 17:48



正是我需要的。谢谢 - CraftyFella


你应该能够结合起来  和 CONCAT 用翻译来做到这样:

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

3
2018-03-17 17:44





使用XPath translate 函数,将字符串分成第一个字符和其余字符。这将需要使用多个变量来保存中间结果的有点长卷绕的XSLT。


0
2018-03-17 17:40





XSLT有一个子字符串函数,因此您可以将该模式与子字符串函数一起使用以获得所需的内容。


0
2018-03-17 17:41