我们如何在不下载 EXSLT 源代码的情况下使用 EXSLT?

发布于 2024-11-15 00:15:58 字数 917 浏览 3 评论 0原文

XSLTSL 似乎声称我们可以使用 EXSLT 而无需下载其源代码:

直接从图书馆网站导入或包含主样式表或您希望使用的样式表模块; http://xsltsl.sourceforge.net/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?

XSLTSL seems to claim that we can use EXSLT without downloading its source:

Import or include either the main stylesheet, or the stylesheet module you wish to use, directly from the library website; http://xsltsl.sourceforge.net/modules/. The modules directory always contains the latest stable release.

I've tried this:

<?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>

But its not working. I don't seem to be able to use EXSLT without downloading its source.

Is there anyway to use EXSLT without downloading its source?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

断桥再见 2024-11-22 00:15:58

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

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

其导入到您的 xslt 脚本中。

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

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

在多个地方使用它有点大,但只要您可以将其放置在模板中,就不会太重要。

As is explaind in Using the library, you need to download it and

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

import it into your xslt script.

Btw, as an alternative you can also use the xslt translate function:

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

It is a bit big to use in multiple places, but as long as you can place this in a template that shouldn't matter much.

鸩远一方 2024-11-22 00:15:58

您没有正确使用该库。请查看此处的说明。

下载该库后,您需要:

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

更新:

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

You are not using the library correctly. Take a look at the instructions here.

Once you have downloaded the library, you need to:

1) Add an import to your xsl file:

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

2) Add a namespace:

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

3) Call the template like this:

<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>

This will produce HELLO WORLD.

UPDATE:

No, you do not need to download the library locally. You can simply link to string.xsl using the full URL.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文