代码之家  ›  专栏  ›  技术社区  ›  Gavin Miller

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

  •  1
  • Gavin Miller  · 技术社区  · 15 年前

    我有一个输入到第三方应用程序的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 回复  |  直到 15 年前
        1
  •  4
  •   Gavin Miller    15 年前

    正如tomalak所建议的,文档功能是一种方法。我在外部HTML文档中使用 document() copy-of 节点。 复印件 进行深度复制(包括标记)以获取整个外部HTML文档。代码如下:

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