我有一个如下所示的XML文件:
..
<PersonalInfo>
<LastName>Smith</LastName>
...
</PersonalInfo>
<DependentInfo>
<LastName>Johnson</LastName>
...
</DependentInfo>
...
我需要将依赖的姓氏转换为大写。
我写了这个XSLT
<xsl:value-of select="translate(//LastName, $smallcase, $uppercase)" />
它将依赖项的姓氏转换为大写字母的个人信息的姓氏。所以它将它转换为SMITH,我希望它转换为JOHNSON。 有人能告诉我怎么做吗? 非常感谢你。
答案 0 :(得分:1)
基于XML示例和小型XSL片段很难说清楚,但听起来您使用xsl:value-of
的上下文是DependentInfo
。通过在//LastName
函数中使用translate()
,您告诉处理器选择XML中的任何LastName
。 (在这种情况下,它似乎是在LastName
中选择PersonalInfo
的第一次出现。)
尝试从//
xsl:value-of
<xsl:value-of select="translate(LastName, $smallcase, $uppercase)" />
如果这不起作用,请尝试发布更多的XSL供我们查看。
答案 1 :(得分:0)
<xsl:value-of select="translate(DependentInfo/LastName, $smallcase, $uppercase)" />
答案 2 :(得分:0)
使用强>:
translate(/*/DependentInfo/LastName, $smallcase, $uppercase)