0

如何在 Firefox 和 Chrome 中显示 XML 页面(使用 xslt)。当我尝试使用 IE 时,它可以工作,但不能在 Firefox 和 Chrome 中工作。

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="sample.xsl"?>
<root>
  <title> This contains an 'embedded' HTML document </title>
  <document>
    <![CDATA[
    <html>
    <head>
    </head>
      <body>
        <h4>Team Names test</h4>
        <ul class="listStyle">
          <li>REAP</li>
          <li>NAMS</li>
          <li>NCAT</li>
          <li>YARDI</li>
        </ul>
      </body>
    </html>
    ]]>
  </document> 
</root>
<?xml version="1.0" encoding="utf-8"?>  
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="root">
    <html>
      <head>
      </head>
      <body class="chunk">
        <document type="long" format="html" >         
          <xsl:value-of disable-output-escaping="yes" select="document"/>
        </document>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

在 Firefox 中打开 XML 页面(使用 xslt)时,仅显示文本。当我尝试使用 IE 时,它可以工作,但不能在 Firefox 和 Chrome 中工作。

4

1 回答 1

0

disable-output-escaping是一个可选的序列化功能,因为 Firefox 不会序列化 XSLT 转换的结果树,而是简单地呈现它disable-output-escaping在 Firefox 中不受支持,请参阅https://developer.mozilla.org/en/docs/XSL_Transformations_in_Mozilla_FAQ#Can_I_do_disable-output-escaping .3F .

对于 Chrome,我不确定,您还没有真正描述从哪里加载文件,请检查 Chrome 的错误控制台是否显示任何内容,让您了解为什么某些内容无法按预期工作。

作为 Mozilla/Firefox 的一种解决方法,当您有一个完整的文档要呈现时,您可以选择 iframe 并使用dataURL。这适用于我http://home.arcor.de/martin.honnen/xslt/test2013072901.xml和样式表http://home.arcor.de/martin.honnen/xslt/test2013072901.xsl与当前版本Firefox、Chrome 和 Opera。但是,它不适用于 IE 10。也许它需要src属性中的 HTML 正确地进行 base64 编码。

于 2013-07-29T11:04:05.583 回答