yawnmoth wrote:
> <a>
> <b>
> <c/><c/>
> </b>
> <b>
> <c/><c/><c/>
> </b>
> <b>
> <c/>
> </b>
> </a>
>
> Doing //b[1]//c on that yields two items. If, however, I put the
> first <b></b> within a <d></d>, I get five items. My question is...
> why?
>
> Here's what I mean by "put the first <b></b> within a <d></d>":
>
> <a>
> <d>
> <b>
> <c/><c/>
> </b>
> </d>
> <b>
> <c/><c/><c/>
> </b>
> <b>
> <c/>
> </b>
> </a>
>
> Why does that return 5 items when the first only returns 2?
//b[1] means select all b that are the first b child of their parent.
If you want to select the first b descendant use
/descendant::b[1]
David
--
http://dpcarlisle.blogspot.com