XSLT/XPath:MSXML 4.0中没有大写字母功能?

glm*_*ndr 4 xslt xpath msxml4 uppercase

我尝试在XPATH中使用大写(),我的解析器是MSXML 4.0,我得到:

upper-case is not a valid XSLT or XPath function.
Run Code Online (Sandbox Code Playgroud)

它真的没有实现吗?

Ras*_*dit 13

xslt 1.0中没有函数可以转换为大写或小写.而是执行以下操作:

如果在很多地方都需要它:

声明这两个xsl变量(这是为了使xslt更具可读性)

<!-- xsl variables up and lo and translate() are used to change case -->
  <xsl:variable name="up" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
  <xsl:variable name="lo" select="'abcdefghijklmnopqrstuvwxyz'"/>
Run Code Online (Sandbox Code Playgroud)

并在您的翻译功能中使用它们来改变大小写

<xsl:value-of select="translate(@name,$lo,$up)"/>
Run Code Online (Sandbox Code Playgroud)

如果您只需要在一个地方使用它,则无需声明变量

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