|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: combining node restrictions in select statements
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|






