Subject: Re: [xsl] Unescaped CDATA?|
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Sat, 17 Dec 2005 18:11:25 -0500
section:I use a Python script to build XML files out of database records. Within these records, a certain field contains (not necessarily well-formed) HTML.
I need my XSLT processor to skip this data when transforming the document to an HTML document. So I thought it would be a great idea to enclose the data in a CDATA
<content> <![CDATA[ (malformed HTML here) ]]> </content>
This works - but the tags within the CDATA section are escaped to literal <p>, <i> etc.
So the browser displays
instead of the italic text Serapions-Br|der.
Right ... because if you just put out the text value then markup-sensitive characters must be escaped.
How can I
a) keep the XSLT processor from choking at the malformed HTML and b) leave the tags within the HTML unescaped?
Do what you are doing so far for capturing your HTML tag soup, but change the way it is delivered to the output by turning off the escaping of the markup-sensitive characters:
Your situation is the use-case for the XSLT disable-output-escaping= feature of result tree building ... however, processors are *not* required to support this feature (but most (all?) do).
-- Upcoming XSLT/XSL-FO hands-on courses: Denver,CO March 13-17,2006 World-wide on-site corporate, govt. & user group XML/XSL training. G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995) Male Cancer Awareness Aug'05 http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal