This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Convert mutiple escaped items from xml to HTML
- To: "Yang" <sfyang at unisvr dot net dot tw>
- Subject: Re: [xsl] Convert mutiple escaped items from xml to HTML
- From: Jeni Tennison <mail at jenitennison dot com>
- Date: Wed, 22 Aug 2001 10:38:16 +0100
- CC: xsl-list at lists dot mulberrytech dot com
- Organization: Jeni Tennison Consulting Ltd
- References: <000e01c12ad2$7141f010$1601800a@hqlab.unisvr>
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hi Sun-fu,
> I have a xml with a series of escaped items shown in a text node and
> want to convert them into the html tag.
In effect, you are asking how to write an HTML parser in XSLT. As you
might expect, in a language that isn't particularly good at string
manipulation, it's not going to be easy. Someone with a computer
science background might be able to help with approaches to doing it.
In your situation, I would use disable-output-escaping - you would
save yourself a lot of work if you just did:
<xsl:value-of select="Comment" disable-output-escaping="yes" />
In the example that you gave:
> <Comment>This is an example.<br /> & you can find more
> information in <a href="http://www.dot.com"> dot.com
> </a> <br /></Comment>
the unescaped version of the content of Comment is unfortunately not
well-formed XHTML, nor even well-formed HTML. Unescaped, it is:
This is an example.<br /> & you can find more information in <a
href="http://www.dot.com"> dot.com </a> <br />
As you know, & characters have to be escaped in (X)HTML. So if they're
not double-escaped in your source XML, i.e. like:
<Comment>This is an example.<br /> &amp; you can find more
information in <a href="http://www.dot.com"> dot.com
</a> <br /></Comment>
then you should first run the value of Comment through a replacing
template to change all the '&' characters into the string '&',
before giving its value with output escaping disabled.
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list