DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23933>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23933 XPath with predicate [1] returns multiple nodes [EMAIL PROTECTED] changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID Summary|XPath with predicate [1] |XPath with predicate [1] |returns multiple nodes |returns multiple nodes ------- Additional Comments From [EMAIL PROTECTED] 2003-10-20 19:42 ------- Xalan-C's result is correct and I have verified it with multiple XPath/XSLT implementations. Are you sure this is the XPath expression you want to evaluate? "//" is short for "/descendant-or-self/node()/", so "//descendant-or- self::Assertion[parent::Security][1]" expands to "/descendant-or-self/node ()/descendant-or-self::Assertion[parent::Security][1]", which is probably not what you want. If I change your XPath expression to: "/descendant-or-self::Assertion[parent::Security][1]" or : "(//Assertion[parent::Security])[1]" I get what you probably expect. The positional predicates and "//" have some interesting interactions, as state here: http://www.w3.org/TR/xpath#path-abbrev In particular, the last part: "// is short for /descendant-or-self::node()/. For example, //para is short for /descendant-or-self::node()/child::para and so will select any para element in the document (even a para element that is a document element will be selected by //para since the document element node is a child of the root node); div//para is short for div/descendant-or-self::node()/child::para and so will select all para descendants of div children. NOTE: The location path //para[1] does not mean the same as the location path /descendant::para[1]. The latter selects the first descendant para element; the former selects all descendant para elements that are the first para children of their parents."
