3

XSLTSL似乎声称我们可以在不下载源代码的情况下使用 EXSLT:

直接从库网站导入或包含主样式表或您希望使用的样式表模块;http://xsltsl.sourceforge.net/modules/。modules 目录总是包含最新的稳定版本。

我试过这个:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:import href="http://xsltsl.sourceforge.net/modules/string.xsl"/>
  <xsl:output method="text" indent="yes"/>

  <xsl:template match="/">
    <xsl:call-template name="str:to-upper">
      <xsl:with-param name="text">hello world</xsl:with-param>
    </xsl:call-template>
  </xsl:template>
</xsl:stylesheet>

但它不起作用。如果不下载其源代码,我似乎无法使用 EXSLT。

无论如何都可以在不下载源代码的情况下使用 EXSLT 吗?

4

2 回答 2

2

使用库中所述,您需要下载它并

<xsl:import href="stdlib.xsl"/>

将其导入您的 xslt 脚本。

顺便说一句,作为替代方案,您还可以使用 xslt 翻译功能:

translate(value,"abcdefghijklmnopqrstuvwxyz","ABCBCDEFGHIJKLMNOPQRSTUVWXYZ")

在多个地方使用它有点大,但只要你能把它放在一个模板中就没什么关系了。

于 2011-06-09T07:56:59.627 回答
1

您没有正确使用该库。看看这里的说明。

下载库后,您需要:

1)将导入添加到您的 xsl 文件:

<xsl:import href="string.xsl"/>

2)添加命名空间:

xmlns:str="http://xsltsl.org/string"

3)像这样调用模板:

<xsl:template match="foo">
  <xsl:call-template name="str:to-upper">
    <xsl:with-param name="text">hello world</xsl:with-param>
  </xsl:call-template>
</xsl:template>

这将产生HELLO WORLD.

更新:

不,您不需要在本地下载库。您可以简单地链接到string.xsl使用完整的 URL。

于 2011-06-09T07:56:28.433 回答