Использование XSL включает операторы с переменными - PullRequest
2 голосов
/ 14 декабря 2009

У меня есть группа вспомогательных таблиц стилей xsl, которые мне нужно включить в родительскую таблицу стилей, и все они содержатся в каталоге ниже родительского. Я использовал относительные пути для операторов включения, однако теперь их необходимо изменить полными квалифицированными путями.

Поскольку все они используют один и тот же каталог, имеет смысл сделать это с помощью переменной, определенной в родительской таблице стилей, например.

<xsl:variable name="module_path" select="C:/stylesheet/modules"/>

Однако при использовании в операторе включения, например:

<xsl:include href="{$module_path}/substylesheet1.xsl"/>

Я получаю сообщение об ошибке: не удалось найти часть пути "C: /stylesheet/$module_path/substylesheet1.xsl".

Кто-нибудь знает, как этого можно достичь?

1 Ответ

3 голосов
/ 14 декабря 2009

Вы не можете использовать вычисленное выражение href в <xsl:include>. Разрешены только буквальные (то есть жестко закодированные) URI.

Конечно, относительные URI поддерживаются, поэтому «жестко закодированный» также не означает «абсолютный».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...