Subject: Re: [xsl] converting CDATA ampersand to & From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Thu, 13 Mar 2003 12:34:32 +0000 |
Hi Vilius, > <xsl:value-of select="text()"/> > > I need to present some text extracted from a database using xsl. > Some db text strings include '&' and give not well-formed error > message. Any ideas how to convert CDATA ampersand to & ? If I > try translate(text(), &, &) I run into the same problem. I assume you've got something like: <foo><![CDATA[Tom & Jerry]]></foo> As far as the XSLT processor is concerned, this is exactly the same as if it were represented as: <foo>Tom & Jerry</foo> Assuming that you are using the xml or html output method, when the XSLT processor outputs the text node generated by the <xsl:value-of> instruction you use above, it will output the ampersand as &. If you have something like: <foo>Tom & Jerry</foo> then your source document is not well-formed and therefore you can't use XSLT to process it. You need to change the routine that you use to extract information from your database so that the & is escaped properly, and thus guarantee that the source XML is well-formed. Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] converting CDATA ampersand to, Vilius Jagminas | Thread | [xsl] Optimising a XSLT library, Gary Cornelius |
[xsl] converting CDATA ampersand to, Vilius Jagminas | Date | [xsl] Optimising a XSLT library, Gary Cornelius |
Month |