Je pense que XQuery n'a pas l'opérateur "AND" et je ne peux pas faire ceci:un exemple de XQuery avec "AND", s'il vous plaît
si node1 = xxx et node2 = yyy et node3 = zzz puis remplacer node3 par www
Je pense que XQuery n'a pas l'opérateur "AND" et je ne peux pas faire ceci:un exemple de XQuery avec "AND", s'il vous plaît
si node1 = xxx et node2 = yyy et node3 = zzz puis remplacer node3 par www
http://x-query.com/pipermail/talk/2004-November/000358.html
< < Il y a aucun opérateur tel que "&="
dans XQuery. Je pense que vous avez besoin de la fonction contains() à la place, bien que vous vouliez des matches().
Je pense que votre question devrait ressembler à:
let $query :=
if ($ttl != "") then (
for $entries in collection($collctn)//TEI.2
[contains(., $kwds) and
descendant::head[contains(., $ttl)]
return (
if ($entries/@id = "ppp.00271") then (
...
)
else if ($entries/@id = "ppp.00237") then (
...
)
else if ($entries/@id = "ppp.00473") then (
...
)
else (
...
)
)
else if (...) then (
...
)
else (
...
)
XQuery a Et l'opérateur qui est « et ». il a aussi l'opérateur OU "ou".
let $d := <Employee>
<Name>Test</Name>
<ID>1909239</ID>
<Address>test Add </Address>
<Email>[email protected]</Email>
<Department>Dept 1</Department>
<Department>Dept 2</Department>
<Department>Dept 3</Department>
<Department>Dept 4</Department>
<Department>Dept 5</Department>
return if(($d//*:Department[1]/text() = 'Dept 1') and ($d//*:Department[1]/text() = 'Dept 2')) then fn:true() else fn:false()
Cette Codé testé contre MarkLogic Server. mais XQuery est défini sur les normes W3C. – kadalamittai