How to use EXSLT in visual studio environment

1.6k views Asked by At

is it possible to use EXSLT functions within Visual Studio? I write and debug my xslt scripts in VS. What I have to do to be able to use e.g. date:add() function? What a very simple script should look like? Thanks a lot, petr

2

There are 2 answers

3
Dimitre Novatchev On BEST ANSWER

The latest three versions of Visual Studio (2010, 2008 and 2005) all use the .NET XslCompiledTransform XSLT processor. XslCompiledTransform does not implement any EXSLT function except common:node-set() -- so here you are out of luck.

I don't think there is an easy and natural way to use other XSLT processors in Visual Studio, and even there could be some trick to do this, one wouldn't be able to do XSLT debugging in this case.

Finally, EXSLT usually provides a limited XSLT implementation of some of the EXSLT functions. This is much less powerful and convenient, of course, but you could go that route.

My personal recommendation is to start using XSLT 2.0, which is so much more powerful than XSLT 1.0 that there is very little need to use EXSLT in an XSLT 2.0 application.

Of course, there is no support for XSLT 2.0 in VS, but there are other excellent IDEs such as oXygen, that among other things provide good XSLT 2.0 and XQuery debuggers.

Update: You can use a 3rd party implementation of EXSLT for XslCompiledTransform: the MVP - XML project's EXSLT .NET module.

0
Paul Russell On

You can also use the msxml:script tag to include your own functions in the XSLT. This works fine for simple functions, and can also be debugged in VS2005 and above, e.g.

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