Umbraco Xslt Updater

About

The Umbraco Xslt Updater automatically updates your XSLT macros to make them compatible to the new XML Schema that ships with Umbraco 4.5.

It uses Regular Expressions to identify the "problematic" XPath statements inside your existing XSLTs, applies the required changes, and saves the XSLTs to a new folder. It will only apply changes that are 100% safe and display helpful warnings about the others.

It has been tested with the Runway and the CWS (Create Website Starter Kit) websites, as well as with some other Umbraco installations of medium to high complexity.

The Umbraco Xslt Updater is safe to run - it will not override your existing files but store the modified XSLTs file to a different output directory. Your can then use your favorite compare tool (Beyond Compare, of course) to inspect the changes before manually replacing your existing XSLTs.

Running the Umbraco Xslt Updater will save you at least 90% of the manual work required to upgrade your XSLTs to the new schema, and in many installations it will automatically apply 100% of the required changes (in the tested installations, only the file XsltSearch.xslt of the CWS website could not be fully updated).

For feedback or questions, feel free to contact me: Markus Klug, FeatureFarm,

Examples of applied fixes

Before <xsl:value-of select="data[@alias='myAlias']" /> <xsl:if test="data[@alias='myAlias']='myValue'" />
After <xsl:value-of select="myAlias" /> <xsl:if test="myAlias='myValue'" />
Before <xsl:value-of select="node[@nodeTypeAlias = 'myNodeTypeAlias']" />
After <xsl:value-of select="myNodeTypeAlias" />
Before <xsl:for-each select="$currentPage/node">
After <xsl:for-each select="$currentPage/*[@isDoc]">