Функция "fn: encode-for-uri" приводит к ошибке XSLT - PullRequest
4 голосов
/ 17 ноября 2010

Мне нужно URL Кодировать строку в XSLT, но функция:

fn:encode-for-uri

ломает скрипт.Я проверил это онлайн, и, очевидно, это часть пространства имен

http://www.w3.org/2005/xpath-functions

Так что я добавил следующую строку в начало моего XSLT-файла безрезультатно.

xmlns:fn="http://www.w3.org/2005/xpath-functions" 

Есть идеи?Я прошел через это в Visual Studio и получил исключение:

Cannot find a script or an extension object associated with namespace 'http://www.w3.org/2005/xpath-functions'.

Есть идеи?

-Ев

Ответы [ 2 ]

9 голосов
/ 17 ноября 2010

Visual Studio использует процессор .NET XSLT, то есть процессор XSLT 1.0.

Функция encode-for-uri () является стандартной функцией только в XPath 2.0 / XQuery . Процессоры XSLT 1.0 используют только XPath 1.0, а функция encode-for-uri() не реализована и недоступна.

Чтобы использовать эту функцию, вам необходим процессор XSLT 2.0, такой как Saxon.NET или XQSharp.

2 голосов
/ 17 ноября 2010
 <xsl:value-of select="encode-for-uri(...)"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...