How I hate reinventing the wheel

I’m doing quite a lot of work at the moment defining XML document “languages” and associated XML schemas (why I’m happy for the great XML and XML Schema (XSD) support in Callisto) at the moment. In that connection I’m also doing XSLT stylesheets for end-user presentation in Internet Explorer (version 6 or higher). We have to make Internet Explorer a requirement for user-presentation since Firefox doesn’t support resolving entity references when using XSLT which we need for content reuse.

Once this was settled it was all well and good until I yesterday discovered that Internet Explorer 6 (and hence MSXML 3.0) doesn’t support XPath 2.0 which means that all the nifty XSLT functions defined in XPath 2.0 such as the date/time functions cannot be used. Bummer!

So here I am back at reinventing the wheel rewriting all the date/time functions as named templates using the substring XPath 1.0 substring function. Even more bummer!