我们可以在XSL变量中插入HTML标签吗? [英] can we insert HTML tags in XSL Variable

查看:107
本文介绍了我们可以在XSL变量中插入HTML标签吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我只想确认我们是否可以在xsl变量中插入html标签?
示例

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

如果我使用

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

我应该得到

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

可能吗?我曾试过

 < xsl:value-of disable-output-escaping =yesselect =$ htmlContent/ > 

尽管我没有获得所需的输出结果,不要使用 value-of ,它会获取所选节点的文本值 而是使用 copy-of ,它将整个树(节点和全部)复制到输出中:

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

下面是一个完整的例子:

 < xsl:stylesheet xmlns:xsl =http://www.w3.org/1999/XSL/Transformversion =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 GT; 
< html>
< body> hiiii< / body>
< / html>
< / htmlText>


I just want to confirm whether we can insert html tags inside the xsl variable? example

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

if i use

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

I shoud get

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

Is it possible? i have tried

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

Eventhough i am not getting the desired output

解决方案

Do not use value-of, which gets the text value of the selected node. Instead use copy-of, which copies the entire tree (nodes and all) into the output:

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

Here is a full example:

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

This will always produce the xml:

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

这篇关于我们可以在XSL变量中插入HTML标签吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆