Bugs item #19589, was opened at 2008-04-16 12:06
You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1971&aid=19589&group_id=494

Category: General
Group: v0.5
>Status: Closed
>Resolution: Accepted
Priority: 3
Submitted By: Jamie Orchard-Hays (jamieorc)
>Assigned to: Charlie Savage (cfis)
Summary: node.find_first() returns a node, but find() on the returned node 
searches parent node

Initial Comment:
Here's an example:

meta = root.find_first('//meta')

correct_hits = root.find('//meta//hit')  => yields just the meta hit
too_many_hits = meta.find('//hit')       => yields all 3 hits

I expect meta.find() to search the context of the meta node, but it does not.

here's the XML for the example

<docHit>
  <meta>
    <hit>a meta hit</hit>
  </meta>
  <hit> a non-meta hit</hit>
  <hit> another non-meta hit</hit>
</docHit>

----------------------------------------------------------------------

>Comment By: Charlie Savage (cfis)
Date: 2008-07-09 11:41

Message:
Also, there no longer appears to be a find_first method on node.

----------------------------------------------------------------------

Comment By: Mark Thomas (markthomas)
Date: 2008-04-16 17:06

Message:
Not a bug. The XPath spec treats a *leading* // as an absolute path from the 
root. Try meta.find('.//hit') to see if it makes a difference.

----------------------------------------------------------------------

You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1971&aid=19589&group_id=494
_______________________________________________
libxml-devel mailing list
libxml-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/libxml-devel

Reply via email to