May 30, 2007

Smart trick - exslt:node-set() in Internet Explorer

I found this gem in David Carlisle's blog. Smart Javascript trick allows to mask msxsl:node-set() extension function as exsl:node-set() and so you can easily write crossbrowser XSLT stylesheets using exsl:node-set() functionality. Opera 9, Internet Explorer 6-7 and Firefox 3 are covered, but sadly Firefox 2 is out of the game. Julian ...

May 27, 2007

IronXSLT: Changing the Way You Work with XSLT in Visual Studio

Yes, I'm trying to change the way you work with XSLT in Microsoft Visual Studio. It must be a pleasure to develop and rocket fast at runtime. Yes, Visual Studio already supports editing, running and even debugging XSLT, but it's still a painfully limited support. So I'm started building IronXSLT ...

Download IronXSLTIf you happens to have Visual Studio Code Name “Orcas” Beta 1 installed,  you can give IronXSLT version 0.1 a shot.

Needless to say, any comments, bug reports and feature requests are greatly appreciated on the IronXSLT Forum.

I decided not to call it Visual XSLT to avoid confusion with ActiveState Visual XSLT plugin, which was discontinued back in 2005, but still might be trademarked. And as I was obviously copying a lot from the IronPython integration sample in Visual Studio SDK, IronXSLT name became a natural choice.  I like this name.

Here are go some screenshots and information about IronXSLT.

You know, just run the installer. Once installed, IronXSLT adds itself into a list of installed products appearing on the Visual Studio splash and About dialogs:

Visual Studio Splash


Note: if you have lots of Visual Studio plugins installed, IronXSLT may not appear in the splash dialog, because of lack of the screen estate.


Visual Studio About Dialog


XSLT Library Project

IronXSLT adds "XSLT Library" to the list of Visual Studio project types:

XSLT Library Project Properties

XSLT Library project allows to compile XSLT stylesheets into DLL. Each XSLT stylesheets becomes a class in the DLL and can be loaded and run later using standard XslCompiledTransform class. This way you can avoiding paying XSLT compilation tax at runtime.
XSLT Library project has the following properties:

  • Assembly Name - name of the resulting DLL
  • Default Namespace - target default namespace for compiled XSLT stylesheets

XSLT Library Project Properties

Build XSLT Library project as usual. If there are any compilation error, they will appear in the Error List window, again as usual.


Building XSLT Library Project