Common XSLT Errors
MIME types
Your server needs to send both the source and the stylesheet with a XML mime type, text/xml
or application/xml
. To find out the current type, load the file in Mozilla and look at the page info. Or use a download tool, those usually tell the mime type.
In Firefox 6 and forward, you can also use the official XSLT mimetype: application/xslt+xml
.
Namespace
The XSLT 1.0 namespace is http://www.w3.org/1999/XSL/Transform
. Older versions of IE used a different namespace. However these versions also used a draft version of XSLT which is incompatible with what eventually became the XSLT 1.0 specification. Firefox only supports the official XSLT 1.0 version.
Missing features
There are some features in the XSLT 1.0 specification which Firefox unfortunately does not yet support. Specifically:
- The
namespace::
axis in XPath expressions. Support for this will hopefully be available in the future. - The
disable-output-escaping
attribute. This feature controls how serializing the constructed output document works. However Firefox never serializes the output document and so the attribute isn't really applicable. While we could try to add some heuristics to serialize and reparse just the part of the output document which hasdisable-output-escaping
applied, heuristics often get things wrong and lead to surprising results, hence we've been reluctant to add this so far. Often times stylesheets contain code like<xsl:text disable-output-escaping="yes"> </xsl:text>
, this is equivalent to putting 
in the stylesheet which will work great in all XSLT engines. We do realize that the lack ofdisable-output-escaping
is a problem and we'd like to find a solution for it, however so far we haven't found any good solutions. - The
<xsl:namespace-alias>
element.
If you'd like to help out with any of the above features, help would be greatly appreciated.