Bonjour, j'ai un problème avec xquery, tout d'abord, voici ma requête.
<xqbe> { let $doc := doc("db4.xml" )
for $u in distinct-values($doc//node()[text() != '']) for $y in distinct-values($doc//node()[text() != '']) for $w in distinct-values($doc//node()[text() != '']) for $z in distinct-values($doc//node()[text() != '']) for $x in distinct-values($doc//node()[text() != '']) where $doc/catalog[book[title [.=$u]][author[.='Jones' and $z='Jones']][slist[subject [.=$y]]]][book[title [.=$w]][author [.=$x]][slist[subject [.=$y]]]] and $x << $z
Elle sera générée à partir d'un programme, donc elle doit si possible ne pas être trop changée pour rester assez générique. Mais le problème est que la ligne $x << $z ne fonctionne pas. Ai-je oublié de spécifié quelque chose ? Je voudrais donc à partir des boucles, parcourir tous les noeuds texte et ensuite de vérifier si le test est valide et alors afficher le résultat.
Marsh Posté le 01-11-2004 à 16:44:25
Bonjour,
j'ai un problème avec xquery,
tout d'abord, voici ma requête.
<xqbe>
{
let $doc := doc("db4.xml" )
for $u in distinct-values($doc//node()[text() != ''])
for $y in distinct-values($doc//node()[text() != ''])
for $w in distinct-values($doc//node()[text() != ''])
for $z in distinct-values($doc//node()[text() != ''])
for $x in distinct-values($doc//node()[text() != ''])
where
$doc/catalog[book[title [.=$u]][author[.='Jones' and $z='Jones']][slist[subject [.=$y]]]][book[title [.=$w]][author [.=$x]][slist[subject [.=$y]]]]
and
$x << $z
return
<answer>
<author>{$x}</author>
<subject>{$y}</subject>
<test>{$z}</test>
</answer>
}
</xqbe>
Elle sera générée à partir d'un programme, donc elle doit si possible ne pas être trop changée pour rester assez générique.
Mais le problème est que la ligne $x << $z ne fonctionne pas. Ai-je oublié de spécifié quelque chose ?
Je voudrais donc à partir des boucles, parcourir tous les noeuds texte et ensuite de vérifier si le test est valide et alors afficher le résultat.
merci de vos réponses