J'utilise Apache Tomcat de Exist DB comme une base de données XML et essaie de construire une séquence en passant le XPath suivant, défini dans son FLWOR « let » clause:Comment passer un XPath dans une déclaration de fonction XQuery
$xpath := $root/second/third
dans une déclaration de fonction définie localement, comme ceci:
declare function local:someFunction($uuid as xs:string?, $xpath as xs:anyAtomicType?)
{
let $varOne := $xpath/fourth[@uuid = $uuid]/fifthRight
let $varTwo := $xpath/fourth[@uuid = $uuid]/fifthLeft
let $combined := ($varOne,$varTwo)
return $combined
};
Bien sûr, en entrant dans ce bac à sable dans le XQuery exist, je reçois type: xs: anyAtomicType n'est pas défini. Que devrais-je utiliser à la place ou devrais-je le faire différemment?
Merci d'avance pour toute suggestion.
Merci xqib équipe! en utilisant: $ xpath comme noeud() * résolu mon problème. Je regardais une hiérarchie de types atomiques que xQuery a intégré, mais bien sûr, puisque je passe un nœud, il n'est pas catégorisé comme tel. Je ne comprends vraiment pas très bien les définitions de type de données dans xQuery, et je n'ai pas trouvé un bon ensemble de tutoriels qui illustrent comment jouer avec chacun d'eux. Merci encore. – topmulch