XSLT样式表:将文本更改为大写

25 xslt coding-style uppercase

我正在使用XSLT样式表从XML文件创建Excel文档.我要提取的其中一个值我希望显示为大写.这怎么可能?

Dav*_*sen 55

XSLT 2.0有fn:upper-case()和fn:lower-case()函数.但是,如果您使用的是XSLT 1.0,则可以使用translate():

<xsl:template match="/">
  <xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" />
  <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
  <xsl:value-of select="translate(doc, $smallcase, $uppercase)" />
</xsl:template>
Run Code Online (Sandbox Code Playgroud)


Wel*_*bog 18

您可以translate()在XSLT 1.0中使用该函数:

<xsl:value-of select="translate(//some-xpath,
                                'abcdefghijklmnopqrstuvwxyz',
                                'ABCDEFGHIJKLMNOPQRSTUVWXYZ')" />
Run Code Online (Sandbox Code Playgroud)

如果您足够幸运能够访问XSLT 2.0,则可以使用以下upper-case()功能:

<xsl:value-of select="upper-case(//some-xpath)"/>
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅XPath函数参考页面.

  • 阿斯克的名字看起来模糊不清......é会发生什么?(对不起,我忍不住......) (3认同)