Re: [xsl] Problems matching end-of-line character

Subject: Re: [xsl] Problems matching end-of-line character
From: Kenneth Stephen <marvin.the.cynical.robot@xxxxxxxxx>
Date: Wed, 10 Aug 2005 17:43:07 -0500
David,

    Thanks for the explanation. I've understood the reason for my
problems. I was wondering if you might be kind enough to explain the
terminology you used a bit more. Specifically whats the difference
between a character reference, and an entity reference?

Thanks,
Kenneth

On 8/10/05, David Carlisle <davidc@xxxxxxxxx> wrote:
>
> >     Why is the end-of-line in $var1 not visible?
>
> because you are searching for a space not a newline.
>
>                 <xsl:if
test="contains(exsl-common:node-set($var1)/a/text(),'&xa;')">
>
> does what you want.
>
> Most weeks someone on this list calls a numeric character reference an
> entity reference, and I moan that it isn't an entity reference. This is
> one of those times that makes a difference.
> Newlines in attribute values are normalised to space by an xml parser
> before xlslt starts, character references hide the newline so it doesn't
> get normalised, but entity expansion happens before normalisation, so
> your EOL expands tp a newline character (not a character reference)
> and then gets normalised to a space. So by the time xslt starts the
> second argument to your contains() function is a space.

Current Thread