Export

De Salve Regina

Les pages wiki peuvent être exportées au format XML pour pouvoir être importées sur une autre installation de Salve Regina, ou pour être utilisées séparément, par exemple pour analyser le contenu. Voir aussi Import pour la fonction associée.

Comment exporter

Il existe au moins cinq moyens d'exporter une page :

  • Ouvrir la page Special:Export et copier le nom de la page dans la liste.
  • Utiliser le lien Special:Export/Nom de l'article
  • Utiliser le script de sauvegarde dumpBackup.php qui place toutes les pages wiki dans un fichier XML. dumpBackup.php ne marche qu'avec MediaWiki 1.5 au moins, et il faut avoir un accès direct au serveur pour lancer ce script.
  • Utiliser l'interface OAI-PMH pour récupérer régulièrement des pages qui ont été modifiées depuis un temps donné.

Utiliser robot Wikipedia en python, qui ne sera pas expliqué ici.

Par défaut, seule la version actuelle de la page est incluse. Il est possible d'avoir toutes les versions, en incluant la date et l'heure de modifications, l'utilisateur et le résumé.

De plus, il est possible la base de données SQL ; c'est le moyen de sauvegarde utilisé jusqu'à la version 1.5, qu ne sera pas expliqué ici.

Exporter toutes les pages d'un espace de nom donné

Pour exporter toutes les pages d'un espace de nom donné, en utilisant la première méthode :

  • Ouvrir Special:Allpages et sélectionner le bon espace de nom
  • Copier le résultat dans un éditeur de texte
  • Mettre tous les noms sur des lignes séparées
  • Insérer le préfixe avant le nom, si besoin
  • Appliquer Special:Export.

Format d'export

Le format du fichier XML reçu est toujours le même. Il est codé en XML Schema selon http://www.mediawiki.org/xml/export-0.3.xsd. Ce format n'est pas destiné à être visualisé dans un navigateur Web. Ce code XML peut être sauvegardé dans un fichier, ou visualisé avec la fonction "voir le code source" du navigateur.

Les codes "<" et ">" apparaissent comme &lt; et &gt; pour éviter les conflits avec les balises XML ; et pour éviter les ambiguïtés, "&" est codé "&amp;".

Le code wiki est exporté tel quel, il n'est pas remplacé par du code XML à l'heure actuelle.

Exemple

  <mediawiki xml:lang="en">
    <page>
      <title>Titre de la page</title>
      <restrictions>sysop</restrictions>
      <revision>
        <timestamp>2001-01-15T13:15:00Z</timestamp>
        <contributor><username>Machin</username></contributor>
        <comment>Je n'ai qu'une chose à dire</comment>
        <text>Un tas de [[texte]] ici</text>
        <minor />
      </revision>
      <revision>
        <timestamp>2001-01-15T13:10:27Z</timestamp>
        <contributor><ip>10.0.0.2</ip></contributor>
        <comment>nouveau !</comment>
        <text>Une ancienne [[version]].</text>
      </revision>
    </page>
    
    <page>
      <title>Discuter:Titre de la page</title>
      <revision>
        <timestamp>2001-01-15T14:03:00Z</timestamp>
        <contributor><ip>10.0.0.2</ip></contributor>
        <comment>salut</comment>
        <text>Pourquoi la page est protégée ? Je voulais la modifier...</text>
      </revision>
    </page>
  </mediawiki>

DTD

Voici une version non officielle en DTD de ce format.

<!ELEMENT mediawiki (siteinfo,page*)>
<!-- version contient le numéro e version de ce format (0.3 actuellement) -->
<!ATTLIST mediawiki
  version  CDATA  #REQUIRED 
  xmlns CDATA #FIXED "http://www.mediawiki.org/xml/export-0.3/"
  xmlns:xsi CDATA #FIXED "http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation CDATA #FIXED
    "http://www.mediawiki.org/xml/export-0.3/ http://www.mediawiki.org/xml/export-0.3.xsd"
>
<!ELEMENT siteinfo (sitename,base,generator,case,namespaces)>
<!ELEMENT sitename (#PCDATA)>      <!-- nom du wiki -->
<!ELEMENT base (#PCDATA)>          <!-- URL de la page d'accueil -->
<!ELEMENT generator (#PCDATA)>     <!-- version de MediaWiki -->
<!ELEMENT case (#PCDATA)>          <!-- gestion de la casse -->
   <!-- valeurs possibles : 'first-letter' | 'case-sensitive'
                         'case-insensitive' est réservé pour la suite... -->
<!ELEMENT namespaces (namespace+)> <!-- liste des espaces de nom avec préfixes -->
  <!ELEMENT namespace (#PCDATA)>     <!-- contient les préfixes -->
  <!ATTLIST namespace key CDATA #REQUIRED> <!-- numéro interne d'espace de nom -->
<!ELEMENT page (title,id?,restrictions?,(revision|upload)*)>
  <!ELEMENT title (#PCDATA)>         <!-- Titre avec préfixe -->
  <!ELEMENT id (#PCDATA)> 
  <!ELEMENT restrictions (#PCDATA)>  <!-- Restrictions éventuelles de la page -->
<!ELEMENT revision (id?,timestamp,contributor,minor?,comment,text)>
  <!ELEMENT timestamp (#PCDATA)>     <!-- d'après ISO8601 -->
  <!ELEMENT minor EMPTY>             <!-- édition mineure -->
  <!ELEMENT comment (#PCDATA)> 
  <!ELEMENT text (#PCDATA)>          <!-- Code wiki -->
  <!ATTLIST text xml:space CDATA  #FIXED "preserve">
<!ELEMENT contributor ((username,id) | ip)>
  <!ELEMENT username (#PCDATA)>
  <!ELEMENT ip (#PCDATA)>
<!ELEMENT upload (timestamp,contributor,comment?,filename,src,size)>
  <!ELEMENT filename (#PCDATA)>
  <!ELEMENT src (#PCDATA)>
  <!ELEMENT size (#PCDATA)>

Utiliser l'export XML

Il ya de nombreux outils capables de comprendre le XML exporté. Pour travailler sur un grand nombre de pages, tout peut ne pas rentrer dans la mémoire, il faut donc utiliser un décomposeur (parser).

Méthodes pour travailler avec le code XML :

Voir aussi

Outils personnels
Récemment sur Salve Regina