GraphClick
iLocalize
Unite
Barbouillon
xFractal
ProVoc
XS
AudioXplorer

Archives
Developpeurs

Online-Store
Support
home

Recherche incrémentale

Fonction Recherche

  1. function Recherche

  2. global corpus

  3. RechercheDeBalisesNommées:"w" ...

  4.     champs:{{"Occurrence", "*"}, ...

  5.             {"Lemme", ".lex"}} ...

  6.     listes:{{"Catégorie", ".cat"}, ...

  7.             {"Temps", ".temps"}, ...

  8.             {"Texte", "../doc/name*"}, ...

  9.             {"Auteur", "../doc/author*"}, ...

  10.             {"Date", "../doc/date*"}} ...

  11.     dans:corpus

Ligne 4: Précise le nom des balises à rechercher, en l'occurrences les balises <w>...</w> (correspondant aux mots dans les textes)

Lignes 5 et 6: Définition des rubriques à afficher sous forme de champs

Lignes 7 à 11: Définition des rubriques à afficher sous forme de listes

Chaque rubrique est définie par une paire de chaînes de caractères. La première indique le nom de la rubrique, tel qu'il sera affiché à différentes reprises dans l'interface (légendes, titres de colonnes, etc.).

La deuxième chaîne indique la recherche XML correspondante. La syntaxe des recherches XML est décrite dans la section Techniques avancées.

Par exemple, "*" correspond au contenu textuel de la balise, ".lex" correspond à l'attribut lex de la balise, "../doc/author*" correspond au contenu de la balise author du texte contenant la balise, etc.

La description de la fonction RechercheDeBalisesNommées:champs:listes: dépasse le cadre de ces tutoriels. Cette section présente néanmoins comment modifier les paramètres essentiels de cet outil de recherche incrémentale.

Algorithmes de recherche

Cette section présente quelques façons d'effectuer des recherches dans XS. Une description détaillées des possibilités de XS est donnée dans les sections Éléments de base et Techniques avancées.

Recherche de mots

mots = tagsIn:corpus named:"w"

Recherche toutes les balises <w>...</w> dans le corpus

elementsOf:mots satisfying:maCondition:this

Retourne les mots satisfaisant la condition maCondition: décrite ci-dessous.

  1. function maCondition:mot

  2. lemme = attribute:"lex" ofTag:mot

  3. return does:lemme match:"in*"

Cette condition retourne vrai si l'attribut lex du mot passé en paramètre commence par "in".

Cette recherche retourne ainsi tous les mots dont le lemme commence par "in".

Recherches XML

Les recherches XML (décrites dans les techniques avancées) offrent une syntaxe particulièrement concise. L'exemple ci-dessus peut être simplement écrit ainsi:

corpus["//w[.lex ~ in*]"]

Recherche dans corpus de toutes les balises w dont l'attribut lex commence par in

Des recherches plus complexes peuvent ainsi être réalisées en une seule commande:

corpus["//w[.lex ~ in* & ../doc/author* = 'Julius Caesar' & .temps != présent]"]

Recherche dans corpus de toutes les balises w...

  • dont l'attribut lex commence par in
  • et dont l'auteur du document est Julius Caesar
  • et dont l'attribut temps ne vaut pas présent

Cette syntaxe quelque peu complexe mais concise, permet ainsi, en une seule ligne, d'obtenir les résultats des recherches décrites dans la section Recherche incrémentale du tutoriel débutant.

Étape suivante