XSLT Compatibility
Affected Internet Explorer Document Mode
- IE9 Standards
Feature Impact
- Severity: High
- Probability of Impact: Low
Description
In Internet Explorer 9, the processing of XML and XSLT files has been modified for improved standards compliance and interoperability with other browsers. In particular, certain non-standard behaviors relating to the processing of XSLT files have changed.
Affected Areas
Scenario 1: The legacy XSL namespace is no longer supported for XSLT files. If this namespace is applied to elements in an XSLT file, those elements will not be interpreted as XSLT elements and the document will not process as expected:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
Scenario 2: Processing instructions with the name “xml:stylesheet” (note the colon) no longer cause XSLT to be processed:
<?xml:stylesheet type="text/xsl" href="my.xslt"?>
Scenario 3: The “xsl:output” element can now be used to specify XML parsing for XSLT output, meaning output will no longer always parse as HTML.
<xsl:output method="xml">
Guidelines
Scenario 1: Migrate to the standardized XSLT namespace:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Scenario 2: Use the standardized “xml-stylesheet” processing instruction for loading XSLT:
<?xml-stylesheet type="text/xsl" href="my.xslt"?>
Scenario 3: Explicitly opt-in to HTML parsing for XSLT if your output depends on HTML parsing rules:
<xsl:output method="html">
Related Topics
Send comments about this topic to Microsoft
Build date: 6/11/2011