GraphClick
iLocalize
Unite
Barbouillon
xFractal
ProVoc
XS
AudioXplorer

Archives
Developpeurs

Online-Store
Support
home

XQuery

XS intègre de façon transparente une implémentation du langage XQuery. Pour exécuter une requête XQuery, il suffit d'appeler la fonction XQuery: avec la chaîne décrivant la requête désirée. La fonction setXQueryContext: permet de définir le contexte de base pour toutes les requêtes subséquentes.

Exemples

>> setXQueryContext:corpus
>> XQuery:"count(//w)"
706
>> XQuery:"distinct-values(//w/@temps)"
{
    présent
    part. passé
    part. présent
    subj. prés.
    infinitif
    parfait
    imparfait
    gérondif
    plus-que-parfait
    subj. imparfait
    futur
}

Variables

Les résultats d'une requête XQuery sont bien entendu retournés sous forme de variables XS. Inversément, des variables XS peuvent être passées pour une requête XQuery grâce à la fonction XQuery:constants:.

Exemples

function ExempleXQuery
global corpus

setXQueryContext:corpus
quand = "AD"
// quand = "BC"
return XQuery:
  “for $doc in //doc
  where contains($doc/head/date/text(), $what)
  order by $doc/name
  return $doc/head/author”
  constants:["what" quand]

>> ExempleXQuery
{
    <author>Grégoire de Tours</author>
    <author>Ovide</author>
    <author>Apulée</author>
    <author>Petrone</author>
}

Validation XML

Grâce au système Tiger d'Apple (Mac OS X 10.4), XS bénéficie, outre une implémentation du langage XQuery, la possibilité de valider des documents ou des variables XML avec une DTD ou un schéma XML.

Toutes les erreurs de validation sont signalées lors de l'appel à la fonction setXQueryContext:.

Retour aux éléments de XS