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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Problems matching end-of-, David Carlisle | Thread | Re: [xsl] Problems matching end-of-, David Carlisle |
Re: [xsl] Joining sibling elements, Marcin Miłkowski | Date | Re: [xsl] Problems matching end-of-, David Carlisle |
Month |