[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] normalize-space processing all nodes hack?


Subject: RE: [xsl] normalize-space processing all nodes hack?
From: Kolací Tomáš <kolaci@xxxxxxx>
Date: Fri, 2 Nov 2007 10:23:08 +0100

Oups, sorry guys, I have simplified my example too much :( In fact I need to
apply some filtering rules on text() nodes (normalize-space(A) was there
originally, but it has come out lately that some of text() nodes must be
ignored). So, what I really need, is all text of A but excluding descendants
of B, like:

<xsl:variable name="textOnly"
select="normalize-space(A//text()[not(ancestor::B)])"/>

So from <A>txt1<B>txt2<C>txt3</C></B><D>txt4</D></A> I need to get
"txt1txt4".

Is there some "one XPath expression" way now (XSLT 1.1 + Saxon 6.5.x
extensions eventually)?

Thanks, Tomas

> -----Original Message-----
> From: Andrew Welch [mailto:andrew.j.welch@xxxxxxxxx]
> Sent: Thursday, November 01, 2007 5:21 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [xsl] normalize-space processing all nodes hack?
>
> On 01/11/2007, Kolacm Toma9 <kolaci@xxxxxxx> wrote:
> > Hi!
> >
> > I'd like to fill variable textOnly by normalized string of all text
> of the element A. I'm just wondering is there any way, I could write
> it as one XPath expression, like:
> >
> > <xsl:variable name="textOnly" select="normalize-space(A//text())"/>
> >
> > (but here only the first text node is used)?
>
>
> normalize-space(A)
>
> :0)
>
>
> --
> Andrew Welch
> http://andrewjwelch.com
> Kernow: http://kernowforsaxon.sf.net/


Current Thread
Keywords