如何使用XSLT内联外部HTML文档的内容?

时间:2009-09-14 22:33:26

标签: html xslt

我有一个XSLT,我输入到第三方应用程序。此应用程序将XSLT的结果显示为其应用程序中的网页。

我有一个动态HTML文档,我想在该应用程序中显示。如何通过XSLT文档“读取”HTML文档,这样每当更新html文档时,XSLT都会读取新文件?

如果我不清楚,为了传达这个想法,我的xslt会读到这样的内容:

<xsl:stylesheet>
    <xsl:output method="html"/>

    <xsl:template match="Something">
        <!-- Stuff is done here -->
    </xsl:template>

    <xsl:ReadExternalDocument filePath="my/path/document.html" />
</xsl:stylesheet>

我遇到了Document()函数,但它似乎破坏了我的标记。也就是说,我想在输出中包含父元素的子标记。

1 个答案:

答案 0 :(得分:4)

正如Tomalak建议的那样,文档功能是可行的方法。我使用带有document()节点的copy-of读取外部HTML文档。 copy-of执行深层复制(包括标记)以获取整个外部HTML文档。代码如下所示:

<xsl:stylesheet ... >
    <xsl:output method="html"/>

    <xsl:template match="/">
        <xsl:copy-of select="document('ExternalDocument.html')"  />
    </xsl:template>
</xsl:stylesheet>