|
Subject: Re: [xsl] combining node restrictions in select statements From: "andrew welch" <andrew.j.welch@xxxxxxxxx> Date: Tue, 28 Mar 2006 13:50:40 +0100 |
On 3/28/06, Andrew Smith <andrew.smith@xxxxxxxxxxxxx> wrote: > Hi, > > I have an XML structure passed to me and I want to perform to different > node restrictions on the tree. > > <root> > <a> > <b>GUID1</b> > <c>one</c> > <d> > <e>A1</e> > </d> > </a> > <a> > <b>GUID1</b> > <c>one</c> > <d> > <e>A1</e> > </d> > </a> > <a> > <b>GUID2</b> > <c>one</c> > <d> > <e>A1</e> > </d> > </a> > </root> > > > <xsl:apply-templates select="/root/a[d[starts-with(e, 'A')]]" /> > > I currently have something like that, however, I also want to remove > duplicate nodes > > <xsl:apply-templates select="/root/a[d[starts-with(e, 'A')]] and > a[not(b=following::a/b)]" /> > > That however doesn't work. Is there anyway this can be done? If so could > someone point me in the right direction. Just drop the 'and' and use two predicates together: /root/a[d[starts-with(e, 'A')]][not(b=following-sibling::a/b)] The second predicate will operate on the results of applying the first predicate. If performance is important, you would be better off using keys to remove duplicates. cheers andrew
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] combining node restrictio, David Carlisle | Thread | Re: [xsl] combining node restrictio, Robert Koberg |
| Re: [xsl] combining node restrictio, David Carlisle | Date | Re: [xsl] combining node restrictio, Robert Koberg |
| Month |