[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Selecting the node which have child without repiti

Subject: Re: Selecting the node which have child without repition
From: Brandon Ibach <brandon.ibach@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 18 Nov 2010 17:27:05 -0500
Re:  Selecting the node which have child without repiti
I see three problems with the current expression, based on your
requirements.  First, you want to filter out those <b> elements that
match preceding <b>s, rather than following <b>s.  Second, it only
looks at siblings, but the second group of <b>s aren't siblings of the
first group.  Last, you really only want to filter out a <b> if the
preceding <b> that it matches has a <c> child, otherwise it would not
have been selected.

Given all that, try something like:

    //b[child::c][not(./@name=(preceding-sibling::b[child::c]/@name |
../preceding-sibling::a/b[child::c]/@name))]

-Brandon :)


On Thu, Nov 18, 2010 at 12:35 PM, Rashi Bhardwaj
<rashi.bhardwaj@xxxxxxxxx> wrote:
> Hi all,
>
> I am facing a problem while selecting a node through xpath....please help me
out
>
> Here is the input xml
>
> <test>
>   <a>
>    <b name ='1'></b>
>    <b name ='2'></b>
>    <b name ='3'>
>         <c></c>
>    </b>
>    <b name ='4'>
>        <c></c>
>        <c></c>
>    </b>
>  </a>
>  <a>
>   <b name ='1'></b>
>   <b name ='2'>
>      <c></c>
>   </b>
>   <b name ='3'></b>
>   <b name ='4'>
>     <c></c>
>   </b>
>  </a>
> </test>
>
> Xpath:
> //b[child::c][not(./@name=following-sibling::b/@name)]
>
> Output:
> b name="3"
> b name="4"
> b name="2"
> b name="4"
>
> What I want is to select all 'b' that have child 'c', provide the 'b'
> with same '@name' which are selected first should not be selected
> further.
>
> Desired output:
>
> Output:
> b name="3"
> b name="4"
> b name="2"
>
> As b with @name = 4 has already been searched, it should not come
> again in search.
>
> Please help me .....thanks a lott....
>
> Rashi

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.