【问题标题】:How do I inline the contents of an external HTML document using XSLT?如何使用 XSLT 内联外部 HTML 文档的内容?
【发布时间】:2009-09-14 22:33:26
【问题描述】:

我有一个输入到第 3 方应用程序的 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() 函数,但它似乎破坏了我的标签。也就是说,我想在输出中包含父元素的子标签。

【问题讨论】:

  • 要读取外部文件,document() 函数是要走的路。经典 HTML 不起作用,您必须提供 XML 输入。你能详细说明“销毁我的标签”是什么意思吗?
  • @Tomalak - 我想在我的输出中包含父元素的子标签。

标签: html xslt


【解决方案1】:

正如 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 1970-01-01
    • 2019-07-01
    • 2018-10-24
    • 2020-12-01
    • 2012-03-30
    • 2018-07-02
    相关资源
    最近更新 更多