Re: [xsl] Fwd: Parsing Entities

Subject: Re: [xsl] Fwd: Parsing Entities
From: Gary Stewart <the.stewarg@xxxxxxxxx>
Date: Tue, 10 Jan 2006 15:52:56 +0000
On 10/01/06, Michael Kay <mike@xxxxxxxxxxxx> wrote:

> But if you're using saxon:parse then I'm not sure why you're also using
> d-o-e...?

Thanks for having the patience to work with me on this. I was going to
write "because it seemed to be working" along with an explanation but
it was only because I was being stupid in the first place.

The actual source read "&amp;lt;p&amp;gt;Some random letter text
:(.&amp;lt;/p&amp;gt;". Don't ask me why it is double escaped. I'll
look at that some time. Anyway I remember reading that saxon doesn't
do output escaping until the final document so I didn't try value-of
for a variable. My final solution looks like:

<xsl:variable name="letter_text">
<xsl:value-of select="saxon:parse(concat('&lt;e&gt;', letter_text,
'&lt;/e&gt;'))/e/child::node()" /></xsl:variable>

<xsl:copy-of select="saxon:parse(concat('&lt;e
xmlns=&quot;http://www.w3.org/2002/06/xhtml2&quot;&gt;',$letter_text,
'&lt;/e&gt;'))/html:e/child::node()" />

to get around the escaped characters. I added a namespace to the
second parse just to match the namespace of the output.

The other solution would be to regex the &amp; to & before processing
it. Sorry about taking up so much time and thank you all for your help
I wouldn't have reached a solution without it even if I had known that
my source was in a "special" format.

In future I'll read the source :).

Thank you all for all your help,

Gary

Current Thread