Как использовать EXSLT в среде Visual Studio - PullRequest
4 голосов
/ 01 апреля 2011

возможно ли использовать функции EXSLT в Visual Studio?Я пишу и отлаживаю свои скрипты xslt в VS.Что мне нужно сделать, чтобы использовать, например, функцию date: add ()?Как должен выглядеть очень простой скрипт?Большое спасибо, Петр

Ответы [ 2 ]

2 голосов
/ 01 апреля 2011

В последних трех версиях 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: MVP - модуль EXSLT .NET проекта XML .

1 голос
/ 07 февраля 2012

Вы также можете использовать тег msxml: script для включения ваших собственных функций в XSLT.Это отлично работает для простых функций, а также может быть отлажено в VS2005 и выше, например,

<msxml:script implements-prefix="user">
  <![CDATA[ 
  function toUpperCase(str)
  {
    return str.toUpperCase();
  }
  ]]>
</msxml:script>
...