Are there any good reasons to continue using XSL templating now that the Razor templating engine exists?
From what I've seen:
- The Razor templating engine has syntax that is closer to C# (or VB) which is what you already use to write server code, whereas XSL templates have an XML-like syntax which requires the developer to learn at least the basics of XML.
- You can work directly with your existing object model without having to first convert it into XML.
- Microsoft only supports XSL version 1.0, so it seems as though you are limited in what functionality you can make use of in XSL.
Note: If you want to respond to this question, please attempt to avoid personal reasons for using one language over the other, and focus on actual technical/practical reasons for why one has an advantage over another. As you have probably already noticed I have already established a preference, but I'm trying to keep this on point the best that I can.
Update
In my current situation, I take data from a database and convert it into XML solely to then use XSLT to transform it into valid HTML, which is then rendered to the user. From my point of view it would seem more practical to convert directly into an object model which would then be used from within Razor templates. Personally I feel it would be easier to maintain and involve less code than my current process. However I'm trying to give XSLT a fair shake before I make a rash decision to convert from XSLT to Razor, and would like a more direct comparison between the two. (Side note: this is not a process I have chosen, but rather one that I'm being told to use.)
Again, please try to not stray too far from the point. My goal is for a technical/practical comparison of XSLT and Razor so that I can determine which technology works best for my situation.