我可以使用XSL模板将第二个字符串的第一个字母更改为小写吗?或者有没有办法在HTML中将第二个字符串的第一个字母更改为小写?第一个字母的伪代码不会起作用,因为它只能是选择器的主题。
即:
在XML中:
“姓名”,
“ R 对某些事情产生了影响。”
需要(以HTML格式):
姓名 r 让某些东西变得更好。
答案 0 :(得分:2)
此XSLT转换:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/*">
<xsl:variable name="v1stchar" select=
"substring(translate(s[2],translate(s[2],'ABCDEFGHIJKLMNOPQRSTUVWXYZ', ''),''),1,1)"/>
<xsl:value-of select=
"concat(s[1],
' ',
substring-before(s[2], $v1stchar),
translate($v1stchar,'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),
substring-after(s[2], $v1stchar)
)
"/>
</xsl:template>
</xsl:stylesheet>
应用于此XML文档时:
<t>
<s>Name</s>
<s>*R*eturns the something of the something.</s>
</t>
生成想要的正确结果:
Name *r*eturns the something of the something.
即使在单个XPath表达式中也可以这样做,但看起来真的很笨拙。