Dilib, module SxPath, commande SxmlSelect
Module SxPath |
La commande SxmlSelect
permet d'extraire des chaînes ou des éléments d'un flux de documents suivant la recommandation Sxml.
Liste des modules Dilib
Module SxPath
|
Premier exemple
Les commandes :
SxmlSelect -g doc/kw/e -p @g1 <<...
<doc><tit>a</tit><kw><e>m1</e><e>m2</e></kw></doc>
...
|
SxmlSelect -g doc/child::kw/child::e -p @g1 <<...
<doc><tit>a</tit><kw><e>m1</e><e>m2</e></kw></doc>
...
|
produisent :
<e>m1</e>
Synopsis
- SxmlSelect
- [-n nullString ] ...
- [-g sxPath ] ...
- [-s sxPath [sxPath]...] ...
- [-t traceLevel]
- [-c]
Sélecteurs
Sélecteur -g (grep)
Un sélecteur de type grep applique un SxPath aux enregistrements Sxml du flot d'entrée afin de rechercher le premier nœud qui le vérifie.
Si le SxPath n'est pas vérifié, l'enregistrement d'entrée n'est pas traité et la commande passe au suivant.
Si le SxPath est vérifié le résultat est déposé dans la variable interne @gn ou n est le rang, numéroté à partir de 1, de la spécification d'entrée.
Sélecteur -s (set)
Un sélecteur de type set applique un SxPath aux enregistrements Sxml du flot d'entrée afin de sélectionner l'ensemble des nœuds qui le vérifient.
- Exemple
A partir de la version V0.5.95
SxmlSelect -s book/aut/a/1 -s book/kw/li/1 -p @s1 -p @s2 <<...
<book><tit>Ma Dalton</tit><aut><a>Goscinny</a><a>Uderzo</a></aut><kw><li>Lucky Luke</li><li>Ma Dalton</li></kw></book>
...
produit:
Goscinny Lucky Luke Goscinny Ma Dalton Uderzo Lucky Luke Uderzo Ma Dalton
Sélecteur -c (combination)
Le sélecteur -c est associé à un sélecteur -s. Il permet de générer des combinaisons de termes ou d'éléments xml.
Par exemple, le script :
SxmlSelect -g book/tit/1 -s book/kw/li/1 -c -p @g1 -p @s1 -p @c1 <<...
<book><tit>Objectif lune</tit><aut><a>Hergé</a></aut><kw><li>Tintin</li><li>Milou</li><li>Haddock</li></kw></book>
...
produit :
Objectif lune Tintin Milou Objectif lune Tintin Haddock Objectif lune Milou Haddock
Cette option est disponible à partir de la version V0.6.18.
Provisoirement, un seul sélecteur -c est autorisé.
Sélecteur -C (combination de couples triés)
Le sélecteur -c est associé à un sélecteur -s. Il permet de générer des combinaisons de 2 termes ou d'éléments xml. Ces termes sont triés 2 à 2.
Un sélecteur -C ne peut être associé qu'à un seul sélecteur -s.
Par exemple, le script :
SxmlSelect -g book/tit/1 -s book/kw/li/1 -C -p @g1 -p @s1 -p @c1 <<...
<book><tit>Objectif lune</tit><aut><a>Hergé</a></aut><kw><li>Tintin</li><li>Milou</li><li>Haddock</li></kw></book>
...
produit :
Objectif lune Milou Tintin Objectif lune Haddock Tintin Objectif lune Haddock Milou
Cette option est disponible à partir de la version V0.6.18.
Options
Option -n (Null Value)
L'option -n force l'impression d'un document en cas d'échec d'une sélection de type Grep, en donnant à la variable associée le paramètre de l'option.
Exemple :
HfdCat Data/Main/Merge/biblio.hfd \
| SxmlSelect -n NONE -g record/TEI/teiHeader/fileDesc/publicationStmt/idno@type=doi/1 -p @g1 -p @1
provoque :
10.3389/fneur.2015.00122 000000 10.3389/fnhum.2015.00307 000001 ... 10.1002/14651858.CD002815.pub2 000057 NONE 000058 10.3389/fnins.2013.00279 000059
Impression
Options -p (print)
Exemples
Extraction de triplets (Date, RBID, auteur).
HfdCat $EXPLOR_AREA/Data/Main/Exploration/biblio.hfd \
| SxmlSelect -g record/TEI/teiHeader/fileDesc -p @g1 \
| SxmlSelect -g fileDesc/publicationStmt/date/1 -p @g1 \
-g fileDesc/publicationStmt/idno@type=RBID/1 -p @g2 \
-s fileDesc/sourceDesc/biblStruct/analytic/author/name/1 -p @s1
Sur la base wicri-sante.fr:Wicri:MovDisordV2, elle produit une liste de type :
2015 pubmed:25545816 Lucas N Rnberger 2015 pubmed:25545816 Christine Klein 2015 pubmed:25545816 Simon Baudrexel ... 2011 ISTEX:CD906250882BD7CBEE75696ACB8E657735DED4CE Lynn Rochester 2011 ISTEX:CD906250882BD7CBEE75696ACB8E657735DED4CE Katherine Baker 2011 ISTEX:CD906250882BD7CBEE75696ACB8E657735DED4CE Alice Nieuwboer 2011 ISTEX:CD906250882BD7CBEE75696ACB8E657735DED4CE David Burn 2011 ISTEX:3D760E5C4F746C4428E009CAA49E0F3DA7835704 Renato P. Munhoz
Explications :
- La première commande SxmlSelect extrait la partie fileDesc des documents Sxml extraits du la structure HFD.
- La deuxième extrait les triplets proprement dits
- la sous-commande -g permet d'extraire la première date
- la deuxième permet d'extraire le premier RBID (dans une application multi-source l'option -s serait déconseillée)
- la troisième extrait tous les auteurs.
Options
-b
script-n
- no input : permet de tester les scripts avec l'option
-b
- no input : permet de tester les scripts avec l'option