MKCORPUS PROJECT MKCORPUS PROJECT MKCORPUS PROJECT
© 16.11.2003 OFFICE SF
Home
MKC-Sommaire

 Download  

 Mises à jour  

 Bugs  

 Contacts  

 Préambule  

 Installation  

 Modules de MKCORPUS  

 Mise en œuvre et utilisation des modules  

 Les menus  

 Les boutons  

 Références bibliographiques  

Liens

 Corpus de travail  

 Lexico 3  

 Perl  

 Webfix  

 Dan Melamed  

 Tidy  

 Décanteur  

 Bigram Statistics Package  

 STAT Nlp  

 Lexicometrica  

 

 

 

MkCorpus/CorpusPlusBuilder...

Outil de préparation et de manipulation de Corpus

Page Web MKCORPUS (téléchargement, documentation) :

http://www.tal.univ-paris3.fr/sfleury/mkcorpusProject.htm

Download

  • MKCORPUS/CORPUSPLUSBUILDER (dernières versions)
    • Download mkc-win32-1.05 (version 1.05) Novembre 2003. Après installation, il faut installer le correctif suivant : Correctif-win32-1, dans cette archive, vous trouverez un readme qui vous indique où installer 2 fichiers supplémentaires. (si pb me contacter par mail).
    • Documentation (PDF) (version 1.01->1.04) : cette documentation en ligne au format PDF correspond à la dernière version de la documentation complète de MKCORPUS (elle présente en détail les fonctionnalités de la version 1.01). De nouvelles fonctionnalités ont depuis été ajoutées, elles sont a priori documentées dans l'application mais pas encore dans cette documentation. Une nouvelle version de celle-ci sera disponible dans le courant de l'année 2003 (plutôt vers la fin de l'année).
    • Download mkc-win32-1.04-beta1 (version 1.04) Juillet 2003. Après installation, il faut installer le correctif suivant : Correctif-win32-1, dans cette archive, vous trouverez un readme qui vous indique où installer 2 fichiers supplémentaires (si pb me contacter par mail).
    • Download mkc-win32-1.03-beta1 (version 1.03) février 2003. Après installation, il faut installer le correctif suivant : Correctif-win32-1, dans cette archive, vous trouverez un readme qui vous indique où installer 2 fichiers supplémentaires (si pb me contacter par mail).
    • Download SRC (version 1.03) disponible en février 2003
    • Download mkc-win32-beta1 (version 1.02). Après installation, il faut installer le correctif suivant : Correctif-win32-1, dans cette archive, vous trouverez un readme qui vous indique où installer 2 fichiers supplémentaires (si pb me contacter par mail).
    • Download SRC (version 1.02)
    • Download SRC (version 1.01)

     
  • MKCORPUS (version 1.00 2000)

Dernières mises à jour

  • Novembre 2003 : Mise à jour des bibliothèques TextTools (v-3.0) et MarkupTools (v-3.0) du projet EDXML de Calin Mosut.
  • Mars-Juin 2003 : ajout de fonctionnalités XML (Menu XML), module Graphique via Graphviz (Menu Graph), générateur de corpus XML : txt2xml (Menu XML).
  • Janvier-février 2003 : quelques correctifs liés aux modules XML (Menu XML).
  • Octobre/novembre 2002 : intégration de plusieurs fonctionnalités : (1) mise en place du KUB (v.1, documentation à venir) (2) processeur XSLT (documentation à venir).
    • Installation de XML::LibXML, XML::LibXSLT
      • On se reportera à la présentation faite infra pour l'installation de Sablotron : procédure identique à partir des mêmes "repositories"
  • Eté 2002 : intégration de plusieurs fonctionnalités : Directory2XML, Collocation in XMLDoc via XPath, Extraction aléatoire de fichiers dans une arborescence.
  • Mai 2002 : intégration des bibliothèques TextTools et MarkupTools développées par Calin Mosut pour edXML : EDXML, TextTools, MarkupTools
  • 3 février 2002 : Ajout d'un module pour traiter les fichiers WORD (v.1.02) : Word2Lexico3 (HELP module) et Word2Xml (HELP module)
  • 30 Janvier 2002 : Ajout d'un module XSLT (v.1.02) : XML -> HTML via XML::Sablotron (HELP module)
    • Installation de XML::Sablotron
      • C:\> ppm
      • ppm\>set repository XMLPROJ htpp://xmlproj.com/PPM
      • ppm\>set repository JENDA http://krynicky.cz/perl
      • ppm\>set repository THEORYX5 http://theoryx5.uwinnipeg.ca/cgi-bin/ppmserver?urn:/PPMServer
      • ppm\> set save
      • ppm\> install XML::Sablotron
  • 05 Janvier 2002 : Modification du module XML->XPath (HELP module)
  • 03 Janvier 2002 : ajout d'un module Cordial2xml : transcodage d'un état de sortie étiqueté de Cordial (cf paramétrage infra) vers XML (HELP module)
  • 02 Janvier 2002 : ajout d'un browser (via tkWeb) : lecture documentation en ligne, sortie HTML à venir...
  • Décembre 2001 : ajout d'un module de concaténation de fichiers (HELP module)
  • Pour le reste voir le document de présentation

BUG en cours

  • Variable winMain::nom_fic mal gérée
  • Intégration de EDXML à améliorer
  • ... plus tous ceux qui n'ont pas été recencés

  •  
  • Problème avec DOM sur les fichiers XML avec DTD : pb dans la détection des noeuds puis l'affichage cartographique du texte : corrigé dans la version 1.03

Help Modules

Contacts

ILPGA/Sorbonne nouvelle - Paris 3

19 rue des Bernardins, 75005 Paris

Tél : 01.44.32.05.75

serge.fleury@univ-paris3.fr

Hypertoile SF :

http://www.tal.univ-paris3.fr/sfleury/

Hypertoile TAL Paris 3 :

http://ilpga.univ-paris3.fr/

Préambule

La documentation en ligne au format PDF correspond à la dernière version de la documentation complète de MKCORPUS. Certains éléments présentés infra ont été sensiblement améliorés.

Mkcorpus est un programme de préparation de corpus pour leurs analyses ultérieures via des outils traditionnels du TAL. Il est écrit en Perl/TK.

Ce programme permet :

de visualiser le corpus,

de manipuler via des outils idoines le contenu du corpus et de ses éléments pour les formater suivant les contingences imposées par les outils (suppression de balises, nettoyage…).

Cet outil se présente comme un éditeur traditionnel et les menus construits permettent de réaliser des opérations sur les fichiers visualisés dans la zone d'édition ou attachés aux programmes de traitement.

Installation

Pour utiliser MKCORPUS, il faut télécharger une des archives disponibles sur la page :

http://www.tal.univ-paris3.fr/sfleury/mkcorpusProject.htm

MKC-Binary (WIN32) :

http://www.tal.univ-paris3.fr/sfleury/mkcorpus/mkc-win32-1.03-beta1.zip (pour la version 1.03)... (cf supra)

Pré-requis : A priori aucun... à part Windows

MKC-Sources :

http://www.tal.univ-paris3.fr/sfleury/typweb/tools/CorpusBuilderLocation.zip (pour la version 1.01) ou http://www.tal.univ-paris3.fr/sfleury/mkcorpus/CorpusBuilderLocation-1.02.zip (pour la version 1.02)... (cf supra)

Cette archive contient toutes les ressources disponibles et le code source complet. Le plus simple pour l'installer est de "dézipper" l'archive dans un répertoire en respectant l'arborescence construite dans l'archive. Cette version a été testée sous Windows et Linux. Pour lancer MKCORPUS, il faut lancer le programme Perl nommé loadMkCorpus.pl ou le programme win32MkCorpus.pl sous Windows.

Pré-requis : il faut disposer de Perl et de Perl/Tk. Il faut aussi installer les modules Perl contenus dans le répertoire mkCorpusModules contenu dans l'archive (voir aussi la liste infra). Pour ces installations suivre les instructions contenues dans les Readme de chaque module :il faut en général déposer une bibliothèque dans le répertoire local lib de Perl (en général c:\Perl\lib sous windows, sous linux, la procédure d'installation standard fait le travail parfaitement).

Modules de MKCORPUS

On donne ci-dessous un descriptif rapide des différentes opérations actuellement disponibles via cet outil (ces modules sont détaillés infra). Les modules présentés ci-dessous sont disponibles actuellement :

Fichier : ouverture, sauvegarde

Edition : outils traditionnels d'édition

Search : recherche (regexp), remplacement, (dans menu et via boutons)

Markups <[^>]+>: liste, suppression, modification

Ce module utilise la représentation de balise sous la forme d'expression régulière du type <[^>]+> : solution intéressante mais pas toujours concluante.

Extraction de texte entre balises <[^>]+>.

Tools HTML :

En développement…Des modules de transcodage sont disponibles.

Tools SGML :

En développement…

Tools XML :

Outils spécifiques pour travailler sur des documents XML: parsage, représentation graphique, stat, comments, extraction de texte entre balises…

Map Corpus :

Manipulation du documents XML représentés sous la forme de cartes graphiques ou d'arbres

Représentation graphique de corpus balisés : "parcours" dans l'arbre associé au texte balisé via une interface graphique

Corpus Tools :

Préparation de corpus (recherche et nettoyage de caractères), avec sous-modules spécifiques pour Lexico, Cordial, Alceste

Statistiques sur fichiers, concaténation de fichiers

Typweb : la chaine typweb est disponible complètement : version 036 et 038, avec les programmes associés. La phase d'aspiration de site est en cours de mise au point.

NLP tools : concordance, bigrammes, collocation, programme xword (cf "Web programming with perl" O'Reilly)

Mise en œuvre et utilisation des modules

MKCORPUS se présente comme un éditeur de texte traditionnel : une fenêtre d'édition, des menus et des boutons. La fenêtre principale est donc destinée à abriter un fichier en édition. Les principales actions disponibles sont activées via les menus ou via les boutons (qui correspondent en fait à des raccourcis de fonctions disponibles dans les menus).

Les menus

Menu FICHIER

View dir : affiche le contenu de l'arborescence du disque de travail sous une forme d'arbre.

Select File & open : déclenche l'ouverture d'une boîte de dialogue pour l'ouverture d'un fichier afin de l'éditer.

Select File & not open : déclenche l'ouverture d'une boîte de dialogue pour associer un fichier à des traitements sans ouvrir celui ci dans la fenêtre principale. Cette option est surtout destinée à être utiliser dans le cas de travail sur de gros fichiers. Cette option n'est pas encore disponible.

Open this file : charge le fichier courant, celui dont le nom est affiché dans la boîte File.

Save this file : sauvegarde le fichier courant, celui dont le nom est affiché dans la boîte File.

Save this file as : sauvegarde le fichier courant, celui dont le nom est affiché dans la boîte File avec possibilité de le renommer. Cette option fait appel à une boîte de dialogue.

Clear : cette option crée un nouveau fichier dans la fenêtre principale. Ce fichier n'existe pas physiquement. Il faut au préalable l'enregistrer.

Menu EDITION

Ce menu fait appel à des opérations traditionnelles disponibles dans les éditeurs : copier, coller, sélectionner...

Menu SEARCH

Ce menu fait appel à des opérations traditionnelles disponibles dans les éditeurs : recherche incrémentale, recherche globale, remplacement... Ces recherches utilisent la notions d'expression régulière. Le motif de recherche doit être au préalable intégré dans le champ "Search String" idem pour le motif de remplacement le cas échéant.

Le bouton "highlight" est équivalent à une recherche globale du motif donné.

Le bouton "delete" est équivalent à un remplacement global du motif donné par le motif de remplacement donné.

Chaque recherche concluant provoque l'affichage coloré et clignotant du motif trouvé. Le bouton "no hightlight" inhibe ce formatage.

Menu MARKUP <[^>]+>

Ce menu permet de réaliser des traitements sur des fichiers balisés, avec des balises du type <BALISE>. Les opérations disponibles utilisent une représentation formelle de ce type de balise sous la forme d'une expression régulière suivante "<[^>]+>".

Remarque importante : la représentation d'une balise sous la forme de cette expression régulière n'est en aucun cas une solution optimale pour représenter une balise. Nous l'avons retenu dans la mesure où les fichiers que nous avons l'habitude de manipuler ne présentent pas de balises dont l'écriture est scindée sur deux lignes.

View all : crée une nouvelle fenêtre contenant toutes les balises du fichier courant de la fenêtre principale.Il est possible de sauvegarder le fichier construit.

delete all : supprime toutes les balises du fichier courant de la fenêtre principale.

global search : recherche globale de toutes les balises.

I-search : recherche incrémentale de motifs donnés dans le champ de recherche.

repeat I-Search : nouvelle recherche du motif en cours de recherche.

Extract text in markup : cette option active la génération d'une nouvelle fenêtre qui permet de sélectionnner des balises du texte courant pour : les modifier, les supprimer ou bien pour extraire le contenu situé entre la balise ouvrante et la balise fermante de la balise visée.

Menu HTML

HTML-Converter : ce sous-menu contient des programmes de transcodage.

HTML-Tidy : ce sous-menu permet l'utilisation de l'utilitaire Tidy sur des pages HTML locales. Cette option prend en entrée un répertoire contenant un site et réalise le nettoyage des fichiers HTML suivant la configuration de Tidy contenu dans le fichier Tidy/config-html.txt

Menu XML

(Outils XML, documentation complète à venir)

XML-Viewer : outils pour visualiser l'arbre XML associé au document XML contenu dans la fenêtre principale

XML-Parser : outil pour parser le document XML contenu dans la fenêtre principale

XML Xpath : rechercher et extraire des parties du document XML via Xpath : en indiquant le chemin Xpath souhaité dans la zone de recherche, le programme produit, s'il le trouve, le contenu de la zone trouvée dans une zone d'édition qu'il est possible de sauvegarder.

XML-Grove : en développement

XML-ParseDTD : en développement

XML-Extractor : outils pour réaliser des extractions des contenus d'éléments sélectionnés (plusieurs options sont disponibles)

XML-Element : plusieurs outils sont disponibles ici : afficher tous les commentaires du document XML contenu dans la fenêtre principale, afficher des statistiques sur le document XML contenu dans la fenêtre principale

XML-AddTagInTextNode : programme permettant d'ajouter des nœuds au document XML chargé

XML-TIDY : conversion en format XHTML de sites web initialement codés en HTML

XML-Converters : programmes de transcodage

Menu SGML

Module en cours de test et non documenté.

Menu MAP_CORPUS

Make TAG-MAP (REGEXP)

Cette option s'inspire de la notion de "carte graphique de textes" disponibles dans Lexico3. L'enjeu est le suivant : il s'agit de donner une représentation graphique d'un document XML, sous la forme d'une carte de carrés colorés, sur la base d'une sélection d'un certain niveau de représentation (sélectionné par l'utilisateur) de ce document XML. On peut aussi considérer que cette option permet de se "promener" dans l'arbre XML du document visé en sélectionnant le niveau des nœuds de l'arbre à visualiser, on peut ensuite poursuivre la "descente de l'arbre" en sélectionnant un niveau de nœud plus profond. On donne une illustration de cette option dans les figures qui suivent.

La représentation graphique produite du document est réalisée en utilisant des expressions régulières.

Dans cette figure, on suppose que MKCORPUS a chargé un corpus XML contenant des zones textuelles comprises entre les balises <SITEFILETXTBRUT> et </SITEFILETXTBRUT>. L'activation de l'option MapXMLCorpus déclenche la génération dans un menu déroulant de toutes les balises du corpus. On peut ensuite sélectionner la balise que l'on souhaite visualiser sous la forme d'une carte graphique. Dans notre exemple, la balise <SITEFILETXTBRUT> a été sélectionnée. MKCORPUS se charge ensuite de construire une carte de ces zones. Dans la figure, chaque carré construit correspond à une zone textuelle associée à la balise choisie (balises ouvrante et fermante). On peut ensuite réaliser différentes opérations :

Rechercher des éléments textuels dans la carte ; pour cela, il convient de donner une chaîne de caractère dans la zone de recherche puis d'activer le bouton "search in map", les zones textuelles rouges contiennent la chaîne visée, les autres, en blanc, ne le contiennent pas. Dans notre figure, le mot Boeing a été mis en valeur dans la carte, les carrés rouges contiennent donc ce mot.

Afficher le contenu textuel d'un carré de la carte ; en cliquant sur le bouton gauche de la souris au dessus du carré, le contenu textuel apparaît dans la zone d'édition.

Mettre en valeur une chaîne de caractères dans la zone d'édition : mécanisme Highlight déjà vu plus haut. Dans notre figure, le mot Boeing a été mis en valeur dans la zone d'édition.

Sélectionner une balise fils de l'un des carrés de la carte et la sélectionner pour générer une nouvelle carte : le clic droit sur un carré de la carte déclenche la génération de toutes les balises présentés dans cette zone textuelle. La sélection de balises peut ensuite déclencher la génération d'une nouvelle carte sur la base de cette nouvelle sélection.

Make TAG-MAP (DOM)

Cette option est une extension de la précédente qui utilise DOM pour construire la représentation graphique du document sous la forme de carrés associés à un ou plusieurs éléments de l'arbre.

Make TREE-MAP (DOM)

Cette option prend elle aussi appui sur DOM pour construire, non plus une carte d'un certain type d'éléments du document XML (options précédentes), mais l'intégralité du document représenté sous la forme d'un arbre. La figure qui suit donne un exemple d'arbre construit à partir d'un document XML chargé au préalable dans MKCORPUS.

L'interface graphique construire par ce module donne d'une part la représentation graphique du document XML, elle donne aussi accès à des outils pour accéder aux données textuelles du document ou pour modifier le document initial :

CLIC GAUCHE sur carré => affichage du contenu textuel du carré (un élément) et de ses fils dans la zone d'édition

Dans la figure précédente, le contenu textuel de l'élément "grammar" est visible dans la zone d'édition.

2  CLIC DROIT sur carré => sauvegarde du carré-noeud et de ses fils dans un fichier XML

Dans la figure précédente, l'activation du clic-gauche sur le premier nœud "rule" provoque l'extraction de son contenu normalisé et la génération d'un fichier XML avec ce contenu.

3  La Fonction "search in Map" recherche dans tous les noeuds-carré la présence de la chaîne de caractère donnée dans la zone "search : ": les carrés devenus rouge contiennent la chaîne, les carrés devenus blanc ne la contiennent pas.

Dans cette figure, la séquence GN est présente dans tous les nœuds rouges de l'arbre, on peut ainsi à partir de la racine localiser cette séquence dans l'arborescence du document.

4  Les fonctions "HighLight in text" et "search in text" recherchent dans la zone dans la zone d'édition la présence de la chaîne de caractère donnée dans la zone "search : " (cf supra).

Les graphiques produits peuvent être sauvegardés dans des fichiers au format PostScript.

Menu CORPUS

Stat File, File Tools

Ces deux options permettent respectivement :

d’obtenir des statistiques élémentaires sur un fichier

de concaténer des fichiers contenus dans un répertoire avec 2 formats de sortie : une sortie pour Lexico3 avec un balisage construit sur la base du nom des fichiers concaténés et une sortie XML avec le même type de balisage mais conforme cette fois ci aux recommandations XML.

Check Char

Cette option intègre des opérations de vérification et de remplacement de caractères (pris individuellement ou globalement).

Il est possible de visualiser tous les caractères du fichier.

On peut ensuite les modifier ou les supprimer interactivement et individuellement.

Il existe aussi une option qui permet d'appliquer des modifications sur tous les caractères du fichier sur la base d'une table de transcodage contenue dans le fichier nommée TableCharacter.txt. Il est possible de modifier cette table, chaque ligne est construite sous la forme suivante :

<caractèreInput><caractèreOutput><chiffre>

Le premier caractère sera remplacé par le second quand cette option est activée. Tous les caractères non contenus dans cette table seront remplacés par un blanc.

PrepHtml2Txt

Ces items permet de transformer des pages HTML en fichiers texte.

Deux options sont disponibles :

la première permet de réaliser le transcodage sur un répertoire complet (de manière récursive). En sortie, on obtient un fichier réécrit pour chaque fichier lu dans l'arborescence parcourue et un fichier global concaténant l'ensemble des fichiers transcodés.

le seconde réalise l'opération de transcodage sur le fichier lu dans la fenêtre d'édition active.

Ces programmes ont été inspirés par ceux disponibles à l'adresse suivante :

http://www.codearchive.com/home/jon/.

Option Lexico

Ce sous-menu permet de construire des corpus prêts à être analysés par Lexico3 après sélection d'élément (plusieurs options sont disponibles).

Il permet aussi de lancer des traitements particuliers : remplacement de tous les caractères majuscule par le même caractère en minuscule précédé par une étoile (cf documentation Lexico3), reformatage des sorties produites par Lexico2.

Option Cordial :

Une opération disponible actuellement (Make-Corpus Tag (For Lexico v1, v2)) concerne le traitements des résultats issus de Cordial Analyseur. Il est possible de formater les résultats issus de Cordial et de les préparer pour être traitées par Lexico.

Le fichier à soumettre à Cordial doit être balisé sous la forme suivante :

<balise1=valeur1>

zone textuelle 1

<balise2=valeur2>

zone textuelle 2

S'il y a des balises dans le texte, il faut qu'elles aient l'allure précédente, s'il n'y en a pas, aucun problème a priori. Le résultat créé par Cordial est ensuite reformaté pour Lexico.

Le résultat produit par l'étiquetage est de nouveau soumis à MKCORPUS qui se charge de remettre en forme ce résultat d'étiquetage pour qu'il soit de nouveau utilisable dans LEXICO. Ce travail de reformatage produit en fait 6 fichiers qui peuvent être tous traités par LEXICO :

Un fichier contenant toutes les formes graphiques (i.e. le corpus initial)

Un fichier contenant tous les lemmes

Un fichier contenant toutes les étiquettes syntaxiques

Un fichier contenant les couples (lemme, étiquette)

Un fichier contenant les couples (forme, étiquette)

Enfin, un fichier contenant la concaténation des trois premiers fichiers : i.e. une partition d'un même texte sous trois facettes complémentaires. On présentes un extrait de cet état du corpus ci-dessous :

Le paramétrage de cordial à utiliser est le suivant :

Les options "Cordial" de ce menu permettent ensuite de remettre en forme les résultats de Cordial. On obtient en fait plusieurs sorties : formes, lemmes, catégories, forme_catégorie, lemme_catégorie et une version du corpus qui contient une partition regroupant les lemmes, une partition regroupant les formes et une partition regroupant les catégories.

Menu NLP

Ce menu regroupe différents programmes de manipulation pour les textes manipulés (documentation complète à venir) :

Concordance

Collocation

Bigramme

Fourgramme

Wordcount

xword

Menu TYPWEB

Les outils Typweb sont intégrés dans ce menu. Pour un descriptif de ces outils : http://www.tal.univ-paris3.fr/sfleury/typweb.htm

Chaîne Typweb version 036

webxref

On peut activer webxref sur un site aspiré localement et contenu dans un réperoire donné.

On peut activer webxref sur un fichier index.htm sauvegardé localement et contenu dans un répertoire donné. Il faut au préalable chargé le fichier dans la fenêtre principale.

mktypo

On peut activer le programme mktipo présenté supra dans ce menu.

mkstat

On peut activer le programme ExtAndStatFrCorpTwb présenté supra dans ce menu.

Chaîne Typweb version 038

webxref

On peut activer webxref sur un site aspiré localement et contenu dans un répertoire donné.

On peut activer webxref sur un fichier index.htm sauvegardé localement et contenu dans un répertoire donné. Il faut au préalable chargé le fichier dans la fenêtre principale. Certaines options ne sont disponibles que sous Unix.

On peut, à partir des résultats fournis par les différentes options de webxref, générer les fichiers de travail de la chaîne Typweb : matrice de liens, corpus de TAGs, matrice de mots et de TAGs.

Toutes les opérations disponibles sont décrites dans les fichiers d'aide fournis dans cette version.

Les boutons

Références bibliographiques

"Introduction à Perl/Tk", Nancy Walsh, O'Reilly

"Programmation en Perl", L. Wall & al. , Traduction française, 2ème édition, O’Reilly

"Perl cookbook", Tom Christiansen & Nathan Torkington, O’Reilly

"Perl Annotated Archives", Martin Brown , Ed. Osbourne/Mc Grawhill

"Perl 5 how-to", Glover Mike, Humphreys, Ed Weiss, The Wait Group, Inc.

"Web Programming with Perl", Clinton Wrong, O'Reilly

"Bien Débuter avec GNU Emacs", Frédéric Pierrestéguy, Masson

"XML Processing with Perl, Python, and PHP", Martin C. Brown, SYBEX, 2002.

"Computer Science & Perl Programming : Best of The Perl Journal", Orwant John, (edité par), 600 pages, édition O'Reilly, ISBN 0-596-00310-2, 2002

"Web, Graphics & Perl/Tk : Best of The Perl Journal", Orwant John, (edité par), 504 pages, édition O'Reilly, ISBN 0-596-00311-0, 2002

"Perl & XML, XML processing with Perl", Ray Erick T., Jason McIntosh, édition O'Reilly, 2002.

"Learning XML", Ray Erick T., Christopher R. Maden, édition O'Reilly, ISBN 0-596-00046-4, 2001.

"XML and Perl", Riehl Mark, Sterin Ilya, New Riders Publishing 2003

Liste des modules utilisés

XML::LibXML XML::LibXSLT Tk::Graphviz
Cwd Data::Dumper English Exporter File::Basename File::Find Getopt::Long
Getopt::Std HTML::FormatPS HTML::FormatText HTML::LinkExtor HTML::Parser IO::Dir IO::File
IO::Handle IO::Pipe IO::Seekable IO::Socket LWP::Simple LWP::UserAgent Text::Wrap
Tk 800.022 Tk::Animation Tk::Balloon Tk::CheckButton Tk::Date Tk::Dialog Tk::DialogBox
Tk::DirTree Tk::FileSelect Tk::MarkupTools Tk::Menu Tk::ObjScanner Tk::Optionmenu Tk::Photo
Tk::ProgressBar Tk::RadioButton Tk::TextEdit Tk::TextTools Tk::TextUndo Tk::Toplevel Tk::WaitBox
Tk::XMLViewer URI::URL XML::DOM XML::EasyOBJ XML::Grove::Iter XML::Grove::Visitor XML::Grove
XML::Parser::Grove XML::Parser XML::XPath mkCorpusModules::DirSelect mkCorpusModules::EliInfo mkCorpusModules::MyParser mkCorpusModules::MyVisitor
mkCorpusModules::SubHandlers strict