給定一個輸入XML文檔這樣的:轉換 '嵌入式' XML文檔到XSLT CDATA輸出(1.0)
<?xml version="1.0" encoding="utf-8"?>
<title> This contains an 'embedded' HTML document </title>
<document>
<html>
<head><title>HTML DOC</title></head>
<body>
Hello World
</body>
</html>
</document>
</root>
如何可以提取 '內' HTML文件;將其呈現爲CDATA幷包含在我的輸出文檔中?
所以輸出文檔將是一個HTML文檔;其中包含一個文本框顯示元素爲文本(所以它將顯示內部文檔的'源視圖')。
我已經試過這樣:
<xsl:template match="document">
<xsl:value-of select="*"/>
</xsl:template>
但這僅呈現文本節點。
我已經試過這樣:
<xsl:template match="document">
<![CDATA[
<xsl:value-of select="*"/>
]]>
</xsl:template>
但這逃脫實際XSLT和獲取:
<xsl:value-of select="*"/>
我已經試過這樣:
<xsl:output method="xml" indent="yes" cdata-section-elements="document"/>
[...]
<xsl:template match="document">
<document>
<xsl:value-of select="*"/>
</document>
</xsl:template>
這並插入一個CDATA部分,但輸出仍包含文本(剝離元素):
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<title>My doc</title>
</head>
<body>
<h1>Title: This contains an 'embedded' HTML document </h1>
<document><![CDATA[
HTML DOC
Hello World
]]></document>
</body>
</html>
你能告訴你的預期輸出嗎? –