[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Problem with < and > in front and after CDATA s

Subject: Problem with < and > in front and after CDATA section
From: "jo lemen" <jo_lemen@xxxxxxxxxxxxx>
Date: Sat, 6 Dec 2008 17:09:15 +0100
 Problem with &lt; and &gt; in front and after CDATA  s
I'm having trouble parsing an RSS feed (version 2.0), over which I have no
control, server-side using using classic ASP and XSL (version 1)
Mu guess is that the problem lies in the following line of the RSS feed:
<description>&lt;![CDATA[ text ]]&gt;</description>
The result is that none of the content in between the description tag shows up
on screen. Below are the relevant pieces of code.

Is there a way in XSL 1.0 to fix the &lt; and &gt; in front of and after the
CDATA section? If it can only be done in XSLT 2.0, I would be glad to learn
how. Thanks in advance.

The RSS source file

<rss version="2.0">
<item>
<title>Title text</title>
<link>URL</link>
<description>&lt;![CDATA[description text]]&gt;</description>
<pubDate>pubDate</pubDate>
</item>
.. 3 other items

HTML I want
<p>
<strong>Title text</strong>
<br />
<em>( Date: pubDate )</em>
<br />
description text .. <a href="URL">.. details</a>
</p>

XSL code used:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<xsl:apply-templates select="/rss/channel/item"/>
</xsl:template>

<xsl:template match="/rss/channel/item">
<xsl:if test="position() &lt; 2">
<p><strong><xsl:value-of select="title"/></strong>
<xsl:text disable-output-escaping="yes">&lt;br /&gt;</xsl:text>
<em>( Date: <xsl:value-of select="substring(pubDate, 6, 11)" /> )</em>
<xsl:text disable-output-escaping="yes">&lt;br /&gt;</xsl:text>
<xsl:value-of select="description" disable-output-escaping="yes" />
<xsl:text>.. </xsl:text>
<a><xsl:attribute name="href"><xsl:value-of select="link" /></xsl:attribute>
<xsl:attribute name="title">.. details</xsl:attribute>
<xsl:text>.. details</xsl:text>
</a></p>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

Resulting HTML source code:
<p><strong>Title text</strong>
<br />
<em>( Date: pubDate )</em>
<br />
<![CDATA[description text]]>.. <a href="URL" title=".. details">..
details</a></p>

Resulting text on screen:
Title text
( Date: pubDate )
.. .. details

Title text
( Date: pubDate )
.. .. details


--
_______________________________________________
Surf the Web in a faster, safer and easier way:
Download Opera 9 at http://www.opera.com

Powered by Outblaze

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.