2011-06-09 122 views
2

XSLTSL似乎要求,我们可以使用EXSLT,无需下载它的源:如何在不下载源代码的情况下使用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,无需下载它的来源?

+0

其他已经回答了你的问题,但请注意,如果你可以使用XSLT 2.0,然后的的伎俩。 – alexbrn 2011-06-09 08:02:02

+0

@alexbrn heys我已经编辑了这个问题,你能帮助我thx! – Pacerier 2011-06-11 12:54:57

回答

1

你没有正确使用的库。看看here的说明。

一旦你已经下载库,您需要:

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

UPDATE:

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

+0

heys我仍然无法得到它的工作。顺便说一句我编辑了这个问题看看它 – Pacerier 2011-06-11 12:55:18

+0

你还没有添加一个名称空间。更改为: ' – dogbane 2011-06-11 14:39:41

+0

,不,不需要下载xslt的本地副本。 – dogbane 2011-06-11 14:41:14

1

正如Using the library是explaind,你需要下载并

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

将其导入到你的XSLT脚本。

顺便说一句,作为替代,你也可以使用XSLT转换功能:

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

这是一个有点大在多个地方使用,但只要你可以在模板中放置这一点,不该”没关系。

+0

heys我仍然无法得到它的工作。顺便说一句我编辑了这个问题看看吧 – Pacerier 2011-06-11 12:55:39

+0

@Pacerier,看起来你忘了在' rsp 2011-06-11 16:58:05

相关问题