如何通过xslt读取xml中的外部文件数据

如何通过xslt读取xml中的外部文件数据,xml,xslt,Xml,Xslt,我有一个从HTML文件外部读取数据的XML文件 XML文件 <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="Test.xsl"?> <!-- Edited by XMLSpy --> <catalog> <cd> <title>Empire Burlesque</title>

我有一个从HTML文件外部读取数据的XML文件

XML文件

 <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="Test.xsl"?>
<!-- Edited by XMLSpy -->
<catalog>
    <cd>
        <title>Empire Burlesque</title>
        <external><![CDATA[2F434A1.htm]]></external>
    </cd>
    <cd>
        <title>Hide your heart</title>
        <external><![CDATA[2F434A1.htm]]></external>
    </cd>
</catalog>

皇帝讽刺剧
隐藏你的心
XSLT文件

    <?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th>Title</th>
        <th>External</th>
      </tr>
      <xsl:for-each select="catalog/cd">
      <tr>
        <td><xsl:value-of select="title"/></td>
        <td><xsl:value-of select="external"/></td>
      </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

标题
外部的
要打印的数据在html文件中可用,当我们打开这个xml时,我们得到的是html文件的名称,而不是数据


请为我们提供如何获取数据以XSLT引用的xml显示的建议。

您可以使用
iframe
例如

  <tr>
    <td><xsl:value-of select="title"/></td>
    <td><iframe src="{external}"/></td>
  </tr>

当然,这会将呈现和包含HTML文档的任务委托给显示XSLT创建的HTML的浏览器。但是XSLT无法包含HTML文档,除非您知道它是格式良好的XHTML,在这种情况下,您可以使用

  <tr>
    <td><xsl:value-of select="title"/></td>
    <td><xsl:copy-of select="document(external)//body/node()"/></td>
  </tr>