我们可以插入在XSL变量的HTML标签(can we insert HTML tags in XSL

2019-07-03 12:48发布

我只是想确认我们是否可以插入XSL变量中的HTML标签? 例

<xsl:variable name="htmlContent">
<html>
<body>
hiiii
</body>
</html>
</xsl:variable>

如果我使用

<xsl:value-of select="$htmlContent"/>

我得到768,16

<html>
<body>
hiiii
</body>
</html>

可能吗? 我试过了

<xsl:value-of disable-output-escaping="yes" select="$htmlContent"/>

Eventhough我没有得到期望的输出

Answer 1:

不要用value-of ,它得到所选节点的文本值 。 相反,用copy-of ,它会将整个树(节点和所有)到输出:

<xsl:copy-of select="$htmlContent"/>

下面是一个完整的例子:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:variable name="htmlContent">
    <html><body>hiiii</body></html>
</xsl:variable>

<xsl:template match="/">
    <xsl:element name="htmlText">
        <xsl:copy-of select="$htmlContent"/>
    </xsl:element>
</xsl:template>

</xsl:stylesheet>

这总是会产生XML:

<htmlText>
    <html>
       <body>hiiii</body>
    </html>
</htmlText>


文章来源: can we insert HTML tags in XSL Variable