2009-09-14 77 views
1

我有一個XSLT,我輸入到第三方應用程序。此應用程序將XSLT的結果顯示爲應用程序中的網頁。如何使用XSLT內聯外部HTML文檔的內容?

我有一個動態的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()功能,但它似乎破壞我的標籤。也就是說,我想在輸出中包含父元素的子標籤。

+0

要讀取外部文件,'document()'函數是要走的路。經典的HTML將不起作用,您必須提供XML輸入。你能否詳細說明「摧毀我的標籤」是什麼意思? – Tomalak 2009-09-15 10:02:48

+0

@Tomalak - 我想在我的輸出中包含父元素的子標籤。 – 2009-09-15 13:15:43

回答

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> 
相關問題