Thanks for replying. You are absolutely right in stating that this data should not have been enclosed in CDATA sections. However the XML data is written by a different application and it is tough asking them to change their code. We however do have a guarantee that the contents are going to be well-formed markup.
But you could write some code that copied the text into a new location, but stopped copying it when you hit < and started again after you hit >.
This is exactly what I need to do. I have no idea on how to accomplish this in XSLT. Is there an XSLT function which allows me to do search and replace by specifying regular expressions.