Допустим, у меня есть следующий XML:
<info>
<channel>
<A>
<X>
<title>title1</title>
</X>
<Y value="20"/>
</A>
</channel>
<channel>
<A>
<X>
<title>title1</title>
</X>
<Y value="20"/>
</A>
<A>
<X>
<title>title2</title>
</X>
<Y value="20"/>
</A>
</channel>
</info>
и следующий XQuery
{
for $A in doc('test.xml')//A
let $TITLE := $A/X/title
where string($A/Y/value) > 20
return
string($TITLE)
}
это, конечно, выводы:
title1
title1
title2
Как я могу использовать distinct-values
для удаления дубликатов? Мне интересно, потому что for
, по сути, дает мне только один элемент за итерацию, и я не могу вызвать distinct-values
на $A
. Или есть какой-либо другой способ удалить дублирующийся вывод?
Проблема в том, что мне нужно сослаться на другой узел, поэтому в основном вызов distinct-values(doc...)
не работает, так как он не возвращает узлы.