xsl-list
[Top] [All Lists]

RE: [xsl] Escaping <xsl:element> ouput

2008-08-07 02:04:28
You're talking about "tags". Tags don't exist in the data manipulated by
XSLT. XSLT only manipulates nodes in a tree. The way to solve your problem
is to use XSLT the way it was designed to be used: forget about CDATA and
tags, and think about element nodes.

Now take a step back, and tell us what you actually want to achieve - that
is, the input and output of your transformation, rather than your incorrect
attempts at coding the solution.

Michael Kay 
http://www.saxonica.com/ 

-----Original Message-----
From: Anirvan Majumdar 
[mailto:anirban(_dot_)majumdar(_at_)taxilalab(_dot_)com] 
Sent: 07 August 2008 09:38
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Escaping <xsl:element> ouput

Hello,

I have a <xsl:variable> element which contains HTML snippet. 
Parts of this snippet are generated by transformations of 
other XSLT elements present.
Next on, I'd like to take this <xsl:variable>'s value and 
apply some string manipulation templates on it. I realized 
that if I wanted to extract the value inclusive of tags then 
I needed to include the HTML code, and not the XSLT code, 
within <![CDATA]]> sections. Everything seemed to be going 
fine until I realized that all the content generated through 
the <xsl:element>s was missing. The tags are ignored and only 
the node value is captured.

How can I get around this problem? I checked and there is no 
way for output escaping in <xsl:element>, and neither is 
there any point of putting the code within <[CDATA[]]> since 
the transformations won't occure only.

I also thought of using <xsl:copy-of> to extract the variable 
value, but this isn't of much use to me, since the data 
extracted through copy-of cannot be used for any further 
processing as such. I can only display this value [something 
like <xsl:value-of>]

Here's an example of the kind of XSL I'm working on:
<xsl:variable name="someVar">
   <![CDATA[
   <span id="1">
      <input type="text" value="A" name="txtVal"/>
      ]]>
      <xsl:element name="input">
         <xsl:attribute name="type">hidden<xsl:attribute>
         <xsl:attribute name="value">[some value computed 
before]</xsl:attribute>
      </xsl:elelement>
   <![CDATA[
   </span>
   ]]>
</xsl:variable>

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--