Я пытаюсь создать список всех различных префиксов к заголовкам, используемым в базе данных. Заголовки хранятся в теге xml как текст содержимого (в отличие от атрибута).
После извлечения всех заголовков я хочу создать список уникальных префиксов (сами заголовки являются дескрипторами, а не уникальными идентификаторами).
Я дошел до того, что у меня есть префикс из каждого заголовка. То, что я хочу сделать сейчас, это удалить двойные, чтобы оставить только короткий список уникальных значений.
Я пытался использовать different-values (), но мне кажется, что это работает с оригинальным заголовком (т. Е. С содержимым тегов), а не с созданной мной переменной.
Я также пытался преобразовывать и выводить из массива, но это не дает желаемого результата.
for $name in db:open('DUMMYDATABASE')//body
let $new := $name/mytitle
let $thetitles := array { tokenize(replace($new, 's', ''), '-')[1] }
let $result := <thing>{distinct-values($names)}</thing>
return $result
То, что я пытаюсь сделать, это перейти от чего-то вроде этого:
<tag>con.text1</tag>
<tag>sub.text1</tag>
<tag>con.text2</tag>
<tag>sub.text2</tag>
<tag>para.text</tag>
<tag>super.text</tag>
к чему-то повторяемому
"con", "sub", "para", "super"
так что позже я смогу выполнить итерацию по этой последовательности, чтобы найти документы.