Subject: Re: [xsl] Problem with < and > in front and after CDATA section From: Michael Ludwig <mlu@xxxxxxxxxxxxx> Date: Mon, 08 Dec 2008 12:17:09 +0100 |
Is there a way in XSL 1.0 to fix the < and > in front of and after the CDATA section?
<rss version="2.0"> <item> <title>Title text</title> <link>URL</link> <description><![CDATA[description text]]></description> <pubDate>pubDate</pubDate> </item>
Isn't this simply a case of XML errouneously encoded as a string? The generator probably wanted a CDATA section, but not knowing how to do it inserted a text node, like this:
12:12:30,45 C:\MILU\dev\XSLT-1 # more cdata-unparsed.pl use strict; use warnings; use XML::LibXML;
my $doc = XML::LibXML::Document->new; my $root = $doc->createElement( 'Urmel'); $doc->setDocumentElement( $root);
my $node1 = $doc->createElement('eins'); $node1->appendTextNode( "<![CDATA[$text]]>"); # wrong $root->appendChild( $node1);
my $node2 = $doc->createElement('zwei'); $node2->appendChild( XML::LibXML::CDATASection->new( $text)); # right $root->appendChild( $node2);
12:12:47,15 C:\MILU\dev\XSLT-1 # perl cdata-unparsed.pl <?xml version="1.0"?> <Urmel> <eins><![CDATA[Eene & meene <und> miste]]></eins> <zwei><![CDATA[Eene & meene <und> miste]]></zwei> </Urmel>
Supposing this error is predictable and reliable, can't this be safely undone using one simple d-o-e attribute for the element in question?
<xsl:template match="description"> <xsl:copy> <xsl:value-of select="." disable-output-escaping="yes"/> </xsl:copy> </xsl:template>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Problem with < and >, Michael Kay | Thread | [xsl] [Ann (sort of)] ODF 1.2 to XH, Gannon Dick |
Re: [xsl] XSLT 2.1: Nestable sequen, Vladimir Nesterovsky | Date | [xsl] XML to XML Namespace conversi, Casper Voortman |
Month |