Dilib, module MediaWiki, commande MediaWikiTableTransformCol

De Wicri Outils
LogoDilib.gif
Panneau travaux.png
Bibliothèque Dilib (ressources numériques)
Module MediaWiki

La commande MediaWikiTableTransformCol effectue diverses transformations paramétrées sur des tables précédemment transformées en structure Sxml.

Pour les cas simples, voir Dilib, module MediaWiki, commande MediaWikiEasyTable2Sxml.

 

Synopsis

MediaWikiTableTransformCol [ -c listCut] [ -k keyString]

Les structures sources

Les structures sources sont issues de tableau en syntaxe wiki, généralement traitées par la commande MediaWikiTable2Sxml (et MediaWikiCleanTable).

Les tableaux en wikitexte

Les tableaux pris en compte doivent respecter des contraintes d'écriture limitatives :

  • ils doivent être ouverts ou fermés avec le balisage wikitexte en début de ligne
{|
|-
|
|
|-
|}


Options

Les options utilisent des listes définies par une suite de numéros de colonnes ; ainsi 135 désigne les colonnes 1, 3 et 5.

Option -c
(cut) Cette option définit un ensemble de colonnes (listCut) à supprimer. Exemple, la commande qui suit efface les colonnes 2 et 4 :
MediaWikiTableTransformCol -c 24
Option -k
(keyString) Cette option définit une colonne dont le contenu sert de clé Sxml.

Le contenu de cette colonne doit être réduit à une simple chaîne. Associée aux option -v ou -V elle permet notamment de constituer des tables associatives.

WicriGetPage -l wicri-lor.fr -p "Wicri:Personnalités lorraines (Francis)" \
 | MediaWikiCleanTable | MediaWikiTable2SxmlRowCol                        \
 | MediaWikiTableTransformCol -k 1 -V 2

Si le paramètre est un nombre à 2 chiffres, la clé sera contituée par le contenu des 2 chaînes associées aux colonnes ainsi définies et séparées par un caractère deux-points « : ».

Option -K
(key with constraint) Cette option définit une colonne qui contient un lien wiki. Le lien est transformé en chaine si, et seulement si, le texte du lien est identique au nom de la page cible.
Option -f
(filter for key) Cette option complète -k en associant un filtre à la clé.
Option -s
Cette option définit le séparateur des listes (valeur implicite ;)
Option -t
Cette option définit un ensemble de colonnes qui contiennent seulement un texte sur une seule ligne - ce qui implique la suppression des balises < l >.
Option -l
Cette option définit un ensemble de colonnes qui contiennent seulement un pointeur défini par lien wiki. Les colonnes sont alors transformées en éléments balisés par « p » (pointer) ayant pour premier fils un élément « k » (clé d'accés à la page) et comme deuxième fils le texte du lien.
Option -E
Cette option définit un ensemble de colonnes qui contiennent une suite d'éléments pré-balisés.
Option -e
Cette option définit le nom de l'élément implicite d'un élément pré-balisé.
Option -T
Cette option définit un ensemble de colonnes qui contiennent une liste de termes.
Option -L
Cette option définit un ensemble de colonnes qui contiennent une liste de pointeurs définis par des liens wiki.
Option -v
(value) Cette option définit une colonne dont le contenu sert de valeur associée à la clé définie par l'option -k.
Option -V
(value) Cette option définit une colonne qui contient un lien wiki (nom de page) qui sert de valeur associée à la clé définie par l'option -k.
Exemple, pour les codes postaux en Espagne, à partir de la page ( LogoWicriWicriFrMars2010.png ) Code postal en Espagne, génération d'une table dont la clé est le début d'un code postal (en colonne 1) et la valeur est extraite d'un lien en colonne 4.
  WicriGetPage -l wicri-europe.fr -p "Code postal en Espagne" \
     | MediaWikiCleanTable | MediaWikiTable2SxmlRowCol        \
     | MediaWikiTableTransformCol -k2 -V4

Commandes annexes

MediaWikiCleanTable

Cette commande (sans paramètres) effectue diverses opérations élémentaires telles que :

  • effacement des parties extérieures aux tables au sein d'une page,
  • élimination de balises <br/> au sein d'une table.

Commande MediaWikiTable2SxmlRowCol

Cette commande (sans paramètres) transforme une table en syntaxe wiki dans une syntaxe équivalente en Sxml.

Exemple d'emploi

A partir de la page wicri-europe.fr:Wicri:Liste de villes universitaires européennes

  cat $DILIB_IMPORT/Wicri/Data/Europe/BigCitiesEuropeFr.wiki         \
  |  MediaWikiCleanTable                                      \
  |  MediaWikiTable2SxmlRowCol                                \
  |  MediaWikiTableTransformCol -l1 -T2 -E3                   \
  | SxmlSelect -g r/c1/p/k/1 -g r/c3 -p @g1 -p @g2            \
  |  SxmlIndent | more

produira :

Berlin
------ 1
<c3>
  <country>Allemagne</country>
  <region type="land" nuts="2">Berlin</region>
</c3>
=============================================
Berne
------ 1
<c3>
  <country>Suisse</country>
  <region type="région" nuts="3">Canton de Berne</region>
</c3>

Archive

Commande MediaWikiTable2Sxml

Cette commande ne doit plus être utilisée.