Как использовать EXSLT в среде Visual Studio
Можно ли использовать функции EXSLT в Visual Studio? Я пишу и отлаживаю свои скрипты xslt в VS. Что я должен сделать, чтобы иметь возможность использовать, например, функцию date:add()? Как должен выглядеть очень простой скрипт? Большое спасибо, Петр
2 ответа
В последних трех версиях Visual Studio (2010, 2008 и 2005 гг.) Используется XSLT-процессор.NET XslCompiledTransform. XslCompiledTransform не реализует никакую функцию EXSLT, кроме common:node-set()
- так вот вам не повезло.
Я не думаю, что есть простой и естественный способ использовать другие процессоры XSLT в Visual Studio, и даже для этого может быть какая-то хитрость, в этом случае не удастся выполнить отладку XSLT.
Наконец, EXSLT обычно обеспечивает ограниченную реализацию XSLT некоторых функций EXSLT. Конечно, это гораздо менее мощно и удобно, но вы можете пойти по этому пути.
Моя личная рекомендация - начать использовать XSLT 2.0, который намного мощнее, чем XSLT 1.0, поэтому нет необходимости использовать EXSLT в приложении XSLT 2.0.
Конечно, в VS нет поддержки XSLT 2.0, но есть и другие превосходные IDE, такие как oXygen, которые, помимо прочего, предоставляют хорошие отладчики XSLT 2.0 и XQuery.
Обновление: Вы можете использовать стороннюю реализацию EXSLT для XslCompiledTransform: модуль EXSLT.NET проекта MVP - XML.
Вы также можете использовать тег msxml:script для включения ваших собственных функций в XSLT. Это отлично работает для простых функций, а также может быть отлажено в VS2005 и выше, например
<msxml:script implements-prefix="user">
<![CDATA[
function toUpperCase(str)
{
return str.toUpperCase();
}
]]>
</msxml:script>