How to access variable in CDATA from XSLT?

2020-04-08 11:32发布

I am using XSLT Transformation and need to put some data in CDATA section and that vale is present in a variable.

Query: How to access variable in CDATA ? Sample Given Below:

<xsl:attribute name ="attributeName">
<![CDATA[ 
  I need to access some variable here like
   *<xsl:value-of select ="$AnyVarible"/>* 
 ]]>
</xsl:attribute>

How can I use varibale in CDATA ? Note: I can not use --> &lt;![CDATA[<xsl:value-of select ="$AnyVarible"/>]]&gt; Thanks in advance.

标签: xslt cdata
3条回答
ゆ 、 Hurt°
2楼-- · 2020-04-08 12:04

CDATA is just text like any other element contents...

But using the xsl:output element you should be able to specify which elements are to be written as CDATA with the cdata-section-elements attribute.

EDIT:

Now that there is a valid sample, I guess you mean this:

<xsl:attribute name ="attributeName">
<![CDATA[ 
   I need to access some variable here like
   *]]><xsl:value-of select ="$AnyVarible"/><![CDATA[* 
]]>
</xsl:attribute>
查看更多
▲ chillily
3楼-- · 2020-04-08 12:12

If you want to include CDATA sections in your output, you should use the cdata-section-elements atribute of xsl:output. This is a list of element names. Any such elements will have their text content wrapped in CDATA.

<xsl:output cdata-section-elements ="foo" />

<foo>
    <xsl:value-of select="$bar' />
</foo>
查看更多
三岁会撩人
4楼-- · 2020-04-08 12:18

I got the solution for this...FYI for everyone...

<xsl:text
disable-output-escaping="yes">&lt;![CDATA[</xsl:text>
<xsl:value-of select ="$AnyVarible"/>
<xsl:text
disable-output-escaping="yes">]]&gt;</xsl:text>
查看更多
登录 后发表回答