html - 在 HTML 中嵌入 XML(兼容 Firefox)

标签 html xml xslt embed

我有一个 XML 文件(动态创建的)和一个 XSL 样式表;如果我在 Firefox 中打开 XML 文件,我会得到一个很好的输出表。

但是,我想在 HTML 页面中呈现此数据。我试过使用:

HTML 文件:

<html>
  <body>
    <xml src="test_data.xml">
    </xml>
    </body>
</html>

但是我无法渲染任何东西。我的 XML 文件和 XSL 文件都在同一个目录中。

我试过删除 <html><body>从我的 XSL 输出,但仍然没有结果。

我在网上了解到,IE 和 Firefox 的某些方法有所不同;如何在 Firefox 的 HTML 页面中呈现 XML 文件?


XML 文件(test_data.xml):

<?xml-stylesheet type="text/xsl" href="report_proteins.xsl"?>
<group_list>
    <protein_group>
        <protein name="A_1" />
        <protein name="A_2" />
    </protein_group>
    <protein_group>
        <protein name="B_1" />
    </protein_group>
    <protein_group>
        <protein name="C_1" />
        <protein name="C_2" />
        <protein name="C_3" />
    </protein_group>
</group_list>


XSL 文件(report_proteins.xsl):

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
    <h2>MAP proteins</h2>
    <table border="0">
      <tr>
        <th bgcolor="#E7FFCC">Group number</th>
        <th bgcolor="#D2FBFF">Proteins</th>
      </tr>
      <xsl:for-each select="group_list/protein_group">
        <tr>
          <td>
            <xsl:number />
          </td>
          <td>
          <xsl:for-each select="protein">
            <xsl:value-of select="@name"/><xsl:text>&#160;</xsl:text>
          </xsl:for-each>
          </td>
        </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

最佳答案

HTML 中没有这样的xml 节点,所以这就是它不起作用的原因。您根本不需要 HTML 文件。您的 XSLT 工作表生成一个完整的 XHTML 文档,如果您在浏览器中打开 XML 查找,浏览器应该能够按原样呈现它。

您应该将 XHTML 命名空间添加到 XSLT 样式表。

关于html - 在 HTML 中嵌入 XML(兼容 Firefox),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7816500/

相关文章:

xslt - 在 XSLT 中,如何将字符的十六进制代码作为文字文本?

javascript - 如何根据用户点击的链接滑动新内容?

html - CSS 菜单(无法让标签达到全高)

html - 是否尊重 CSS 宽度中的小数位?

java - Android:我需要一个圆形相机预览。如何实现?

xslt - 如何使用 xsl-fo 翻译数据内的 <b> 标签

javascript - 在浏览器中具有精确的图像缩略图大小

xml - 使用标准模块 `parsexml` ,如何通过纯字符串流或字符串而不是文件解析 XML

xml - 无法选择附加命名空间的节点

javascript - 如何在 xsl 中调用外部 javascript 函数?