Re: [xsl] Preserve CDATA for all elements

Subject: Re: [xsl] Preserve CDATA for all elements
From: "Jagdishwar (Jagsmiles)" <jagsmiles@xxxxxxxxx>
Date: Sun, 14 May 2006 20:16:59 +0200
On 5/14/06, Michael Kay <mike@xxxxxxxxxxxx> wrote:
Sorry, can't be done. The XSLT processor doesn't get to see where the CDATA
sections were in the source document.

Remember that CDATA sections are just a keyboard shortcut. The following
all exactly equivalent, and your XSLT processor will see the same input
whichever form you use:


As a matter of interest, *why* do you want to preserve the CDATA sections
the input document?
Because my client application, which actually uses the transformed xml
is designed such that It just strips of the string "<![CDATA[" and
"]]>" and prints the actually value to the user.
So now if it gets transformed to strings like &quot;&gt;&quot;, i just
wondered if it prints the string "&quot;&gt;&quot;" to the user, which
the user would not expect.
I am working on an existing application, where all the data is present
in xml format, and the client side is on intenet explorer(and
javascript). They have not used any xml parser in javascript to get
the values of xml elements. Instead they have written custom
routines(involves lot of string handling in javascript) to extract the
values of xml elements. So i am trying to make most of the
transformation with preserving the content,layout, structure of the
source xml into transformed xml.

If it's really important, you could put the XML through a Perl program or
similar that converts the CDATA section to an XML element as a
pre-processing phase and then does the reverse as a post-process.
This is defenetly a possible solution.
Or else I would have to look into the client application, to check how
i can remove the issues like this.

Michael Kay

Thank you all. Kind Regards, Jagdishwar, Jagsmiles AT gmail DOT com

Current Thread