Dilib, module MediaWiki
Module MediaWiki |
Ce module contient des outils d'interfaçage entre MediaWiki et la bibliothèque Dilib, et plus précisément les conventions Sxml. Une des difficultés abordées par ce module est l"interopérabilité des contenus de page en Wikitexte avec une normalisation xml.
Liste des modules Dilib
Module MediaWiki
|
Conversion de tableaux MediaWiki en tables Sxml
Un premier axe de travail est la conversion de tableaux en wikitexte vers les tables en convention Sxml.
Les tableaux en wikitexte
Les tableaux pris en compte doivent respecter des contraintes d'écriture limitatives.
- Par exemple, ils doivent être ouverts ou fermés avec un balisage wikitexte en début de ligne
{|
|-
|
|
|-
|}
Les filtres de conversion
MediaWikiCleanTable
- Ce filtre procède à divers nettoyages de la table en entrée.
MediaWikiTable2SxmlRowCol
- Ce filtre (sans paramètres) transforme une page contenant une table en syntaxe wiki vers un fichier de structures Sxml. Chaque ligne du tableau produit un élément r. Puis chaque colonne produit un élément de type ci. Enfin chaque ligne de la colonne produit un élément l.
MediaWikiTableTransform
- Ce filtre effectue diverses transformations paramétrées.
Les fonctions de conversion
Les filtres précédent, et notamment MediaWikiTableTransform
manipulent un ensemble d'outils qui peuvent être utilisés dans d'autres situations.
Exploitation des fichiers d'exportation Xml de MediaWiki
Commande MediaWikiImportClean
Cette commande traite un ensemble de pages Wiki sauvegardées par la commande d'exportation. Elle génère un flux dans lequel des pages en syntaxe Wiki sont encapsulées par des entités Xml.
Commande MediaWikiExtractSources
Cette commande traite un flux de pages exportées, préalablement reformatées par MediaWikiImportClean pour en extraire les éléments repérés par des balises de type <source dilib:file="fichierCible">
Génération de fichiers d'exportation
Des outils sont en cours d'étude pour faciliter la génération de fichiers d'export.
Voir wicri-linguistique.fr:Inist, Francis, 527-98-10720