Как мы можем использовать EXSLT без загрузки его источника?

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:output></xsl:import></xsl:stylesheet>

Но он не работает. Кажется, я не могу использовать EXSLT без загрузки его источника.

Можно ли использовать EXSLT без загрузки его источника?

2 ответа

Вы неправильно используете библиотеку. Взгляните на инструкции здесь.

После того, как вы загрузили библиотеку, вам необходимо:

1) Добавьте импорт в файл 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:

Нет, вам не нужно загружать библиотеку локально. Вы можете просто ссылаться на string.xsl, используя полный URL.


Как объясняется в Используя библиотеку, вам необходимо загрузить ее и

импортируйте его в xslt script.

Btw, в качестве альтернативы вы также можете использовать функцию трансляции xslt:

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

Это немного большая возможность использовать в нескольких местах, но пока вы можете разместить это в шаблоне, который не имеет большого значения.

licensed under cc by-sa 3.0 with attribution.