XML / XSLT的IE8呈现失败并出现错误

时间:2014-08-22 06:31:05

标签: xml xslt internet-explorer-8 webbrowser-control

我有一个用作XML / XSL文件对的网页。使用IE8 - 版本8.0.7601.17514。 Windows 2008 R2 SP1上的呈现失败。

确切的错误消息如下:

无法显示XML页面

无法使用XSL样式表查看XML输入。请更正错误,然后单击“刷新”按钮,或稍后重试。

样式表不包含文档元素。样式表可能是空的,或者它可能不是格式良好的XML文档...

单击“刷新”按钮后,页面将在浏览器上正确显示。

以下是XML和XSLT文件的示例:

文件:ExternalTest.xml

    <?xml version="1.0" encoding="utf-8"?>
    <?xml-stylesheet type="text/xsl" href="https://mymachine/cdcatalog.xsl"?>
    <catalog>
      <cd>
        <title>Empire Burlesque</title>
        <artist>Bob Dylan</artist>
        <country>USA</country>
        <company>Columbia</company>
        <price>10.90</price>
        <year>1985</year>
      </cd>
    </catalog>

=============================================== ==================================

文件:cdcatalog.xsl

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/">
      <html>
      <body>
      <h2>My CD Collection</h2>
        <table border="1">
          <tr bgcolor="#9acd32">
            <th style="text-align:left">Title</th>
            <th style="text-align:left">Artist</th>
          </tr>
          <xsl:for-each select="catalog/cd">
          <tr>
            <td><xsl:value-of select="title"/></td>
            <td><xsl:value-of select="artist"/></td>
          </tr>
          </xsl:for-each>
        </table>
      </body>
      </html>
    </xsl:template>

如果我使用以下行修改ExternalTest.xml文件:

    <?xml-stylesheet type="text/xsl" href="http://mymachine/cdcatalog.xsl"?>

然后我可以在IE中查看ExternalTest.xml文件而没有任何问题。

根据我的观察,当我们点击xml文件时第一次通过https引用xslt文件时,IE 8会抛出错误。刷新同一页面后,网页显示正确。

有没有人遇到过这样的问题,有什么可以解决它?

1 个答案:

答案 0 :(得分:0)

给定的cdcatalog.xsl有错误 - 没有结束标记

</xsl:stylesheet>