Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
scrutaridata:impl:mediawiki [2009/06/02 19:35]
vincent
scrutaridata:impl:mediawiki [2016/07/06 18:38] (Version actuelle)
vincent [class-MediawikiScrutariDataWriter.php]
Ligne 3: Ligne 3:
 L'​exportation des données de MediaWiki vers le format ScrutariData a été fait pour le [[http://​fr.coredem.info/​wiki|Wikicoredem]]. Dans l'​état actuel, il est assez simpliste, la base générée ne comprend qu'un seul corpus. Cette exportation se fait à l'aide d'une classe php !!MediawikiScrutariDataWriter!! qui utilise une classe utilitaire !!UtilXmlWriter!!. Les points à savoir pour comprendre le code sont les suivants : L'​exportation des données de MediaWiki vers le format ScrutariData a été fait pour le [[http://​fr.coredem.info/​wiki|Wikicoredem]]. Dans l'​état actuel, il est assez simpliste, la base générée ne comprend qu'un seul corpus. Cette exportation se fait à l'aide d'une classe php !!MediawikiScrutariDataWriter!! qui utilise une classe utilitaire !!UtilXmlWriter!!. Les points à savoir pour comprendre le code sont les suivants :
  
-*La question de la connexion à la base de données n'est pas traitée, on considère qu'​elle est établie préalablement (de là le simple appel //$resultat = mysql_query($requete);//​) +  ​*La question de la connexion à la base de données n'est pas traitée, on considère qu'​elle est établie préalablement (de là le simple appel //$resultat = mysql_query($requete);//​) 
-*Les premières méthodes de //​MediawikiScrutariDataWriter//​ qui commencent par **set** sont des méthodes de définition des différents paramètres utilisés dans la méthode principale //​writeScrutariData()//​ +  *Les premières méthodes de //​MediawikiScrutariDataWriter//​ qui commencent par **set** sont des méthodes de définition des différents paramètres utilisés dans la méthode principale //​writeScrutariData()//​ 
-*L'​argument //$file// de la méthode //​writeScrutariData()//​ correspond à un pointeur vers un fichier, s'il est omis, le XML sera écrit en sortie (fonction **echo**) +  *L'​argument //$file// de la méthode //​writeScrutariData()//​ correspond à un pointeur vers un fichier, s'il est omis, le XML sera écrit en sortie (fonction **echo**) 
-*Seules les pages de l'​espace de nom principal sont extraites. Pour affiner la requête, il faut modifier la ligne //$requete = "​SELECT page_id,​page_title FROM page WHERE page_namespace=0 ORDER BY page_id";//​.+  *Seules les pages de l'​espace de nom principal sont extraites ​et les pages de redirection sont ignorées. Pour affiner la requête, il faut modifier la ligne //$requete = "​SELECT page_id,​page_title FROM page WHERE page_namespace=0 ​AND page_is_redirect != 1 ORDER BY page_id";//​
 + 
 +Le résultat est accessible ici : http://​scrutari.coredem.info/​infos/​php/​coredem.scrutari-data.php?​lang=fr.
  
 ===== class-MediawikiScrutariDataWriter.php ===== ===== class-MediawikiScrutariDataWriter.php =====
Ligne 15: Ligne 17:
  
 class MediawikiScrutariDataWriter { class MediawikiScrutariDataWriter {
-private $uuid;+private $authority;
 private $baseName; private $baseName;
 private $baseIcon; private $baseIcon;
Ligne 26: Ligne 28:
 private $hrefParent;​ private $hrefParent;​
  
-public function ​setUuid($uuid) { +public function ​setAuthority($authority) { 
-$this->uuid = $uuid;+$this->authority ​= $authority;
 } }
  
Ligne 67: Ligne 69:
  
 public function writeScrutariData($file) { public function writeScrutariData($file) {
- $xmlWriter = new UtilXmlWriter($file);​ +    ​$xmlWriter = new UtilXmlWriter($file);​ 
- $xmlWriter->​appendDeclaration();​ +    $xmlWriter->​appendDeclaration();​ 
- $xmlWriter->​openTag("​base"​);​ +    $xmlWriter->​openTag("​base"​);​ 
- $xmlWriter->​openTag("​base-metadata"​);​ +    $xmlWriter->​openTag("​base-metadata"​);​ 
- $xmlWriter->​addElement("​authority-uuid",​$this->​uuid); +    $xmlWriter->​addElement("​authority",​$this->​authority); 
- $xmlWriter->​addElement("​base-name",​$this->​baseName);​ +    $xmlWriter->​addElement("​base-name",​$this->​baseName);​ 
- $xmlWriter->​addElement("​base-icon",​$this->​baseIcon);​ +    $xmlWriter->​addElement("​base-icon",​$this->​baseIcon);​ 
- $xmlWriter->​openTag("​intitule-short"​);​ +    $xmlWriter->​openTag("​intitule-short"​);​ 
- $xmlWriter->​addLibElement($this->​lang,​$this->​baseIntituleShort);​ +    $xmlWriter->​addLibElement($this->​lang,​$this->​baseIntituleShort);​ 
- $xmlWriter->​closeTag("​intitule-short"​);​ +    $xmlWriter->​closeTag("​intitule-short"​);​ 
- $xmlWriter->​openTag("​intitule-long"​);​ +    $xmlWriter->​openTag("​intitule-long"​);​ 
- $xmlWriter->​addLibElement($this->​lang,​$this->​baseIntituleLong);​ +    $xmlWriter->​addLibElement($this->​lang,​$this->​baseIntituleLong);​ 
- $xmlWriter->​closeTag("​intitule-long"​);​ +    $xmlWriter->​closeTag("​intitule-long"​);​ 
- $xmlWriter->​openTag("​langs-ui"​);​ +    $xmlWriter->​openTag("​langs-ui"​);​ 
- $xmlWriter->​addElement("​lang",​$this->​lang);​ +    $xmlWriter->​addElement("​lang",​$this->​lang);​ 
- $xmlWriter->​closeTag("​langs-ui"​);​ +    $xmlWriter->​closeTag("​langs-ui"​);​ 
- $xmlWriter->​closeTag("​base-metadata"​);​ +    $xmlWriter->​closeTag("​base-metadata"​);​ 
-  +     
- $xmlWriter->​write("<​corpus corpus-name=\""​);​ +    $xmlWriter->​write("<​corpus corpus-name=\""​);​ 
- $xmlWriter->​write($this->​corpusName);​ +    $xmlWriter->​write($this->​corpusName);​ 
- $xmlWriter->​write("​\">"​);​ +    $xmlWriter->​write("​\">"​);​ 
- $xmlWriter->​openTag("​corpus-metadata"​);​ +    $xmlWriter->​openTag("​corpus-metadata"​);​ 
- $xmlWriter->​openTag("​intitule-corpus"​);​ +    $xmlWriter->​openTag("​intitule-corpus"​);​ 
- $xmlWriter->​addLibElement($this->​lang,​$this->​corpusIntituleCorpus);​ +    $xmlWriter->​addLibElement($this->​lang,​$this->​corpusIntituleCorpus);​ 
- $xmlWriter->​closeTag("​intitule-corpus"​);​ +    $xmlWriter->​closeTag("​intitule-corpus"​);​ 
- $xmlWriter->​openTag("​intitule-fiche"​);​ +    $xmlWriter->​openTag("​intitule-fiche"​);​ 
- $xmlWriter->​addLibElement($this->​lang,​$this->​corpusIntituleFiche);​ +    $xmlWriter->​addLibElement($this->​lang,​$this->​corpusIntituleFiche);​ 
- $xmlWriter->​closeTag("​intitule-fiche"​);​ +    $xmlWriter->​closeTag("​intitule-fiche"​);​ 
- $xmlWriter->​addElement("​type","​CNC"​);​ +    $xmlWriter->​addElement("​type","​CNC"​);​ 
- $xmlWriter->​addElement("​href-parent",​$this->​hrefParent);​ +    $xmlWriter->​addElement("​href-parent",​$this->​hrefParent);​ 
- $xmlWriter->​closeTag("​corpus-metadata"​);​+    $xmlWriter->​closeTag("​corpus-metadata"​);​
  
- $requete = "​SELECT page_id,​page_title FROM page WHERE page_namespace=0 ORDER BY page_id";​ +    ​$requete = "​SELECT page_id,​page_title FROM page WHERE page_namespace=0 ​AND page_is_redirect != 1 ORDER BY page_id";​ 
-  +     
- $resultat = mysql_query($requete);​ +    $resultat = mysql_query($requete);​ 
-  +     
- while($row = mysql_fetch_row($resultat)) { +    while($row = mysql_fetch_row($resultat)) { 
- $page_id = $row[0]; +        $page_id = $row[0]; 
- $page_title = $row[1]; +        $page_title = $row[1]; 
- $xmlWriter->​write("<​fiche fiche-id=\""​);​ +        $xmlWriter->​write("<​fiche fiche-id=\""​);​ 
- $xmlWriter->​write($page_id);​ +        $xmlWriter->​write($page_id);​ 
- $xmlWriter->​write("​\">"​);​ +        $xmlWriter->​write("​\">"​);​ 
- $titre = str_replace("​_","​ ",​$page_title);​ +        $titre = str_replace("​_","​ ",​$page_title);​ 
- $xmlWriter->​addElement("​titre",​$titre);​ +        $xmlWriter->​addElement("​titre",​$titre);​ 
- $xmlWriter->​addElement("​lang",​$this->​lang);​ +        $xmlWriter->​addElement("​lang",​$this->​lang);​ 
- $href = rawurlencode($page_title);​ +        $href = rawurlencode($page_title);​ 
- $xmlWriter->​addElement(href,​$href);​ +        $xmlWriter->​addElement(href,​$href);​ 
- $xmlWriter->​closeTag("​fiche"​);​ +        $xmlWriter->​closeTag("​fiche"​);​ 
-+    
-  +     
- $xmlWriter->​closeTag("​corpus"​);​ +    $xmlWriter->​closeTag("​corpus"​);​ 
- $xmlWriter->​closeTag("​base"​);​+    $xmlWriter->​closeTag("​base"​);​
 } }
  
scrutaridata/impl/mediawiki.1243964110.txt.gz · Dernière modification: 2009/12/17 11:26 (modification externe)
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0