Wicri:Dilib source, module MediaWiki, MediaWikiImportClean
De Wicri Outils
Révision datée du 7 septembre 2013 à 22:25 par imported>Jacques Ducloy (→Fichier MediaWikiImportClean.lex)
Cette page introduit les sources relatifs à la commande MediaWikiImportClean du module MediaWiki.
Sommaire
Exemple de fichier d'entrée
Cet exemple correspond à la sauvegarde de cette page (Wicri:Dilib source, module MediaWiki, MediaWikiImportClean)
<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.4/" ... >
<siteinfo>
<sitename>Wicri Outils</sitename>
<base>http://ticri.univ-lorraine.fr/wicri-outils.fr/index.php/Accueil</base>
...
</siteinfo>
<page>
<title>Wicri:Dilib source, module MediaWiki, MediaWikiImportClean</title>
<id>638</id>
<revision>
<id>2733</id>
<timestamp>2013-09-07T20:07:17Z</timestamp>
<contributor>
<username>Jacques Ducloy</username>
<id>3</id>
</contributor>
<text xml:space="preserve">Cette page introduit ...
...
%START PAGE
%%
<JUMP>. ;
<JUMP>\n ;
...
[[Catégorie:Dilib source]]</text>
</revision>
</page>
</mediawiki>
Fichier MediaWikiImportClean.lex
Code source
/* -*- coding: utf-8 -*- */
/*
Fichier source géré par Wicri/Outils, page : Wicri:Dilib source, module MediaWiki, MediaWikiImportClean
*/
%START JUMP
%START HEAD_PAGE
%START JUMP_PAGE
%START PAGE
%%
<JUMP>. ;
<JUMP>\n ;
<JUMP>"<page>" {ECHO; BEGIN HEAD_PAGE;}
<HEAD_PAGE>"</title>" {ECHO; BEGIN JUMP_PAGE;}
<HEAD_PAGE>. ECHO;
<HEAD_PAGE>\n ECHO;
<JUMP_PAGE>. ;
<JUMP_PAGE>\n ;
<JUMP_PAGE>"<text"[^>]+">" {putchar('\n'); BEGIN PAGE;}
<PAGE>. ECHO;
<PAGE>\n ECHO;
<PAGE>< putchar('<');
<PAGE>> putchar('>');
<PAGE>" putchar('\"');
<PAGE>"</text>" {printf("\n</page>"); BEGIN JUMP;}
%%
main()
{
BEGIN JUMP;
yylex();
}
Commentaires
L'état » JUMP » permet de sauter le début du fichier (jusqu'à la balise <page>
.