Diciamo che ho il seguente codice XML:Selezionare distinti valori in base al nodo figlio in XQuery
<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>
e il seguente XQuery
{
for $A in doc('test.xml')//A
let $TITLE := $A/X/title
where string($A/Y/value) > 20
return
string($TITLE)
}
questo, naturalmente, uscite:
title1
title1
title2
Come posso utilizzare distinct-values
per rimuovere i duplicati? Mi chiedo perché lo for
in sostanza mi dia solo un articolo per iterazione e non posso chiamare distinct-values
su $A
. O c'è un altro modo per rimuovere l'output duplicato?
Il problema è che ho bisogno di fare riferimento a un altro nodo, quindi in pratica chiamare distinct-values(doc...)
non funziona, in quanto non restituisce nodi.
+1 Per ultimo corretta XQuery/Espressione XPath. –
Grazie per l'aggiornamento! Ti darò un'occhiata in seguito! – slhck
@slhck quindi come è andata? –