Is there "positional distinct" in XPath
===

Consider a query

    //item[value='testvalue']/ancestor::container[1]

if *item* appears several times inside a *container* then we have several hits that supposedly should appear several times in the results. The results are nodes, right? So if I apply **distinct-values** to them they would stop being nodes and the function would technically return values losing positional information. But is there operation (refactoring, function) that allows to keep "noded" result while at the same time exclude duplicate hits? 