Discussion:Dilib, module Sgml, commande SgmlSelect
De Wicri Outils
Révision datée du 10 janvier 2014 à 12:36 par imported>Jacques Ducloy (→Pour Ali)
Pour Ali
HfdCat RabelaisV1/Data/Main/Exploration/biblio.hfd \
| SgmlSelect -s record/TEI/teiHeader/fileDesc/titleStmt/author/affiliation/country# \
-g record/TEI/teiHeader/fileDesc/publicationStmt/date# \
-p "@g1" -p "@s1" -p @1 \
| SgmlSelect -p "@2-@1" -p @3 \
| more
Commande TimeCurationClass
- implicitement trouve la date dans la clé (avant \t).
- ne garde que les années
- options f t s (from to step) le nom de la classe est la date de début
HfdCat ... SgmlSelect | TimeCurationClass -f 1990 -t 2012 -s 2
- pistes :
- utiliser une boucle sur un Buffer pour lire le flot d'entrée.
- pour les paramètres voir getopt :
#include <unistd.h> /* getopt */
extern char *optarg; /* for getopt() */
void usage()
{
perror ("usage: AssocFastWithIndex -h hfdName [-i term1 -j term2]\n");
exit(1);
}
int main(int argc, char **argv)
{
int cod_arg;
while ((cod_arg = getopt(argc,argv,"h:i:j:nL"))!=EOF)
{switch(cod_arg)
{
case 'h':
if((hfd1=IndexOpenRead(optarg)))
{
hfd2=IndexOpenRead(optarg);
flagHfd=1;
break;
}
else
{
perror("HFD not found\n");
usage();
}
break;
case 'n':
flagInput=0;
break;
case 'i':
motI=optarg;
break;
case 'j':
if(!flagHfd) usage();
motJ=optarg;
buildAssoc(motI,motJ);
break;
default: usage();
break;
}
}
if(!flagHfd) usage();
}
- option c ou C (classification rules)
- -c ou -C pointe vers un fichier qui contient des règles
HfdCat ... SgmlSelect | TimeCurationClass -c myRules.dict
les règles sont exprimées dans des tableaux de 3 colonnes - le séparateur utilisé sera :
- la tabulation avec -c
- le ";" avec -C
Exemple :
- 0 ; 1989 ; avant 1990
- 1990 ; 1994 ; 1900 - 1994
- ...
- 2010 ; 3000 ; après 2010