Re: [xsl] CDATA Handling

Subject: Re: [xsl] CDATA Handling
From: Evan Lenz <evan@xxxxxxxxxxxx>
Date: Tue, 06 Jan 2009 13:47:08 -0800
That's much better. Wish I'd thought of it.

"A bit nervous" and "not too bad" feels much better than "yuck, this is a horrible hack". So, short of changing the DTD...what Michael said. :-)

JSR, it would look something like this (using <xsl:processing-instruction/> to generate the PIs):

<x>See following image: <?start-image?>abcde<?end-image?></x>


Michael Kay wrote:
I'll probably regret this suggestion. No one has mentioned an alternative possibility (still bad architecturally, just not quite as bad as using CDATA delimiters): use non-XML "markup" (text) to delimit the images.

<x>See following image: TARTIMAGE##abcde##ENDIMAGE##</x>

Why use non-XML markup? Processing instructions do the same job better.

I always feel a bit nervous about using processing instructions when I want
to add some markup without changing the DTD. But it's a practical technique
that works (much better than CDATA sections). I don't feel too bad about it
if the PI really is being used as an "instruction" (to a stylesheet) to do
some "processing". And there are cases where (for better or for worse)
getting the DTD changed really isn't an option.

Michael Kay

Current Thread