У меня этот кодКак выбрать определенные узлы/слова из строки
for $sea in distinct-values (doc("mondial.xml")//island/tokenize(@sea,"\s"))
let $count := count(doc("mondial.xml")//island[@sea = $sea]/tokenize(@sea,"\s"))
let $seacount := concat($sea," ",$count)
return $seacount
Который возвращается ко мне
«море ArcticOcean 3 море Greenlandsea 0 море NorwegianSea 1 море BarentsSea 0
море-атлантическое 53 море-лабрадорSea 0 ... "и так далее.
Номер Как вы можете видеть $ count, а часть sea-XXX - это переменная $ sea. Теперь я застрял. Как-то вы выбираете $ sea с максимальным значением $ count всех подсчетов и отображением этого морского имени. Я попытался вещи, как добавить переменную макс $ в:
for $sea in distinct-values (doc("mondial.xml")//island/tokenize(@sea,"\s"))
let $count := count(doc("mondial.xml")//island[@sea = $sea]/tokenize(@sea,"\s"))
let $seacount := concat($sea," ",$count)
$max := concat($sea," ",max($count))
return $max
попытался также добавление заказ на $ подсчета (по убыванию) заявление, а затем возвращает первый узел:
for $sea in distinct-values (doc("mondial.xml")//island/tokenize(@sea,"\s"))
let $count := count(doc("mondial.xml")//island[@sea = $sea]/tokenize(@sea,"\s"))
let $seacount := concat($sea," ",$count)
order by $count descending
return $seacount[1]
Am I приближается к этой неправильный путь или?
Просьба также указать ввод, который вы используете, и предоставить фактический и ожидаемый результат запросов, которые вы отправили. –