xml - tutorial - XQuery mientras usa valores-distintos()
xpath node (4)
Archivo XML
<Cities>
<Place>
<City n="New Delhi"></City>
<City n="Chandigarh"></City>
<City n="Mumbai"></City>
</Place>
<Place>
<City n="New Delhi"></City>
<City n="Chandigarh"></City>
</Place>
<Place>
<City n="New Delhi"></City>
<City n="Mumbai"></City>
</Place>
</Cities>
Estoy usando siguiente XQuery -
for $x in doc("sample")/Cities/Place/City
order by $x/@n
return distinct-values($x/@n)
El resultado que estoy esperando es - Chandigarh Mumbai New Delhi
pero obteniendo - Chandigarh Chandigarh Mumbai Mumbai New Delhi New Delhi New Delhi
Por favor, dime ¿dónde me estoy equivocando?
Ahora está llamando distinct-values
en cada uno de los valores por separado. distinct-values
devuelve los valores distintos en una secuencia, pero la secuencia ahora solo consiste en un elemento. Debería llamar distinct-values(...)
donde ...
es la secuencia de nombres de ciudades.
pls intente esto -
for $x in distinct-values(doc("sample")/Cities/Place/City/@n)
order by $x
return $x
He comprobado lo mismo con baseX 7.1 y estoy trabajando sin problemas como esperabas :)
La función de valores distintivos
let $items := (1,2,4,4,5,5,9,9,9,9,3,3,2)
let $unique-items-by := distinct-values($items)
return
<result>
<items>
{
for $item in $unique-items-by
return <item>{$item}</item>
}
</items>
</result>
La función de valores distintivos se usa
artículos únicos
let $x:=doc("/db/my.xml")
let $unique-items := distinct-values($x)
for $x in $unique-items
return (
$unique-items
)