You cannot disable output escaping in Firefox

This is probably well known to all experienced XSLT users, but if this will save a few readers the headaches I've had, it's well worth writing :) In Internet Explorer you can disable output escaping when using XSLT in the browser, thus being able to generate HTML tags from the text content of XML nodes. You cannot do the same in Firefox, as Firefox (or any Gecko-based browser) uses XSLT to transform input tree directly into output (DOM) tree, whereas XSLT transformation in Internet Explorer generates an intermediate string which is later re-parsed into HTML DOM tree.

Firefox does not generate any error when encountering the disable-output-escaping attribute (it's allowed by the XSLT standard) but simply ignores it and inserts the quoted < and > characters into the output stream.

2 comments:

Anonymous said...

For JavaScript users, I have posted a workaround for this Firefox problem on
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=98168

which has my source listing here just to save you some time:
http://ajamyajax.com/ajaMyXSL.html

Good luck. Hope it helps someone.
Mark

Ivan Pepelnjak said...

Thanks Mark!

Post a Comment