6 Formats importables dans TXM
6.1 Textes écrits
6.1.1 Presse-papier du système d’exploitation : module d’import Presse-papier
6.1.1.1 Entrée
Ce module importe le texte brut copié dans le presse-papier du système.
La propriété « lb » est ajoutée aux mots pour encoder le numéro de ligne.
6.1.1.2 Sortie
En sortie, on obtient une structure de texte (text) et des mots segmentés par les caractères séparateurs.
6.1.1.3 Annotation
Des annotations morphosyntaxiques et le lemme sont ajoutés avec TreeTagger.
Le modèle linguistique utilisé par TreeTagger est précisé par la préférence générale « Default language ».
Pour régler la langue d'annotation par défaut pour l'import presse-papier :
- aller à la page des préférences « Preferences > Import » ;
- saisir le code de langue dans le champ « Default language » : par exemple « fr » pour le français ;
- terminer en cliquant sur « OK ».
6.1.1.4 Édition
Il y a une édition du texte tenant compte de la gestion des espaces et ponctuations entre mots, et paginée par blocs de n mots.
6.1.2 Texte brut (.txt) : module d’import TXT+CSV
6.1.2.1 Entrée
Corps de texte
Ce module importe un dossier de fichier contenant du texte tout venant (format texte brut). L'extension de fichier correspondante est '.txt' par défaut.
Les sauts de ligne sont interprétés et chaque mot encode son numéro de ligne dans la propriété « lb ».
Métadonnées de texte
Les métadonnées des textes sont encodées dans un fichier au format CSV nommé « metadata.csv » situé dans le même dossier que les fichiers sources.
Le séparateur de colonnes est « , ». Le caractère de champ est « " ».
La première colonne doit être nommée « id », les suivantes sont nommées à la discrétion de l'utilisateur mais sans utiliser de caractères accentués ou spéciaux.
La première colonne doit contenir le nom du fichier source (sans extension) qui correspond aux métadonnées de la ligne.
6.1.2.2 Sortie
En sortie, on obtient des structures de texte (text) ayant des propriétés correspondant aux métadonnées, et des mots segmentés par des caractères séparateurs par défaut.
6.1.2.3 Annotation
Des annotations morphosyntaxiques et le lemme sont ajoutés avec TreeTagger.
6.1.2.4 Édition
Il y a une édition par texte paginée par blocs de n mots. La première page d'édition de chaque texte reprend la liste des métadonnées.
6.1.3 Traitement de texte (.docx, .odt ...) : module ODT/DOC/RTF+CSV
L’utilisation de ce module nécessite l’installation préalable sur la machine de Libre Office version 4 ou supérieure.
6.1.3.1 Entrée
Corps de texte
Ce module importe un dossier de fichiers au format « traitement de texte » :
-
.docx, .doc : MS Word ;
-
.odt : Libre Office Writer
-
.rtf
-
etc.
Tous les formats suportés par Libre Office Writer sont importables avec ce module26.
Métadonnées de texte
Les métadonnées des textes sont encodées dans un fichier au format CSV nommé « metadata.csv » situé dans le même dossier que les fichiers sources.
Le séparateur de colonnes est « , ». Le caractère de champ est « " ».
La première colonne doit être nommée « id », les suivantes sont nommées à la discrétion de l'utilisateur mais sans utiliser de caractères accentués ou spéciaux.
La première colonne doit contenir le nom du fichier source (sans extension) qui correspond aux métadonnées de la ligne.
6.1.3.2 Sortie
En sortie, on obtient des textes (text) ayant des propriétés correspondant aux métadonnées et contenant les paragraphes des documents source.
6.1.3.3 Annotation
Des annotations morphosyntaxiques et le lemme sont ajoutés avec TreeTagger.
6.1.3.4 Édition
Il y a une édition par texte paginée selon les sauts de page manuels insérés dans les documents ainsi que selon la pagination automatique des traitements de texte.
La première page d'édition de chaque texte reprend la liste des métadonnées.
Les styles de caractères et les styles de paragraphes sont transférés dans les éditions.
Les titres de sections sont encodés dans des titres de section HTML (<h2>).
Les illustrations sont transférées dans les éditions si un répertoire nommé « images » contenant toutes les images est copié manuellement dans le répertoire « HTML » des éditions. Sont également transférés dans les éditions :
-
les tableaux ;
-
les listes à puces ;
-
les mises en italiques et en gras.
6.1.4 XML tout venant (.xml) : module XML/w+CSV
6.1.4.1 Entrée
Corps de texte
Ce module importe un dossier de fichiers27 contenant du texte au format XML (Bray, Paoli, Sperberg-McQueen, Maler, & Yergeau, 2008b). L'extension de fichier correspondante est '.xml' par défaut.
Chaque balise XML encode un niveau de structure avec ses propriétés. Le nom de la structure vient du nom de la balise et les propriétés et leur valeur viennent des attributs et de leur valeur. La balise « text » est réservée pour ce module.
Si des mots sont délimités par des balises « <w> » portant des attributs, ils sont interprétés en tant que tels. Il faut toutefois faire attention à ce que tous les <w> aient les mêmes noms d'attributs. Si les balises <w> possèdent un attribut « ref », alors celui-ci sera utilisé pour afficher les références par défaut des concordances.
Avertissements
-
Tous les éléments XML et leurs attributs sont importés dans TXM sous la forme de structures avec propriétés et de mots avec propriétés par le moteur de recherche CQP. Comme la syntaxe du langage de requêtes (CQL) de ce dernier utilise des mots-clés réservés, il n’est pas possible d’utiliser des noms de structures et de propriétés correspondant à ces mots-clés. La liste des mots que l’on ne peut pas utiliser pour nommer une structure ou une propriété, et donc pour nommer un élément ou un attribut XML, est la suivante : asc, ascending, by, cat, cd, collocate, contains, cut, def, define, delete, desc, descending, diff, difference, discard, dump, exclusive, exit, expand, farthest, foreach, group, host, inclusive, info, inter, intersect, intersection, join, keyword, left, leftmost, macro, maximal, match, matchend, matches, meet, MU, nearest, no, not, NULL, off, on, randomize, reduce, RE, reverse, right, rightmost, save, set, show, size, sleep, sort, source, subset, TAB, tabulate, target, target[0-9], to, undump, union, unlock, user, where, with, within, without, yes ;
-
La gestion de la récursion des structures par CQP peut interférer avec des suffixes de numérotation de noms d’éléments et d’attributs. Par exemple quand trois éléments ‘<div>’ sont imbriqués, l’indexation CQP les recodera sous les noms (non récursifs) ‘div, div1, div2’. Il vaut donc mieux éviter de nommer les éléments et attributs XML avec des suffixes numériques ;
-
Le caractère underscore (_) étant réservé dans le langage de requêtes CQL, il ne peut pas être utilisé dans les noms de structures et de propriétés donc d’éléments et attributs XML.
Métadonnées de texte
Les métadonnées des textes sont encodées dans un fichier au format CSV nommé « metadata.csv » situé dans le même dossier que les fichiers sources.
Le séparateur de colonnes est « , ». Le caractère de champ est « " ».
Paramètres supplémentaires
Un fichier «import.properties » situé dans le dossier des sources permet de régler les paramètres suivants :
-
stopifmalformed : interrompt l'import si un des fichier XML est mal formé.
-
ignoredelements : expression régulière des noms de balises que le tokenizeur doit ignorer (le « hors-texte »). Par exemple : "note|teiHeader"
-
normalizemetadata : normaliser les valeurs des propriétés de structures = true/false. Les valeurs de métadonnée de texte seront passées en minuscules.
-
sortmetadata : nom de la métadonnée utilisée pour définir l'ordre entre les textes
Exemple de fichier « import.properties » :
stopifmalformed =false
ignoredelements =note|teiHeader
normalizemetadata=true
sortmetadata=true
Prétraitements XSL front
Le module d’import XML/w permet d’appliquer une feuille de transformation XSL à l’ensemble des sources avant tout traitement par le module d’import. Ces traitements permettent d’adapter à la volée le format des sources aux besoins du module d’import de TXM.
TXM est livré avec une bibliothèque de feuilles XSL utiles à ces prétraitements.
Feuilles d'adaptation de sources XML-TEI P5
txm-filter-teip5-xmlw-preserve.xsl : rend compatible n'importe quel document au format XML-TEI P5 pour un import dans TXM. Par défaut, elle supprime le contenu des éléments <teiHeader> et <facsimile> et laisse tous les autres éléments inchangés.
Il est possible d'appliquer cette feuille de style indépendamment du module d’import XML/w+CSV, par exemple avec l'aide de la macro ExecXSL, avec les paramètres suivants :deleteAll : liste des noms de balises à supprimer avec leur contenu, les noms sont séparés pas des barres verticales (« teiHeader|facsimile » par défaut)
deleteTag : liste des noms de balises à supprimer en conservant leur contenu, les noms sont séparés pas des barres verticales (liste vide par défaut)
txm-filter-teip5-xmlw-simplify.xsl : rend compatible n'importe quel document au format XML-TEI P5 pour un import dans TXM en ne gardant que les balises <ab>, <body>, <div>, <front>, <lb>, <p>, <pb>, <s>, <TEI>, <text> et <w> dans le corps du texte.
Il est possible d'appliquer cette feuille de style indépendamment du module d’import XML/w+CSV, par exemple avec l'aide de la macro ExecXSL, avec les paramètres suivants :deleteAll : liste des balises à supprimer avec leur contenu, les noms des balises sont séparés pas des barres verticales (« teiHeader|facsimile » par défaut)
copyAll : liste des balises à conserver, les noms des balises sont séparés pas des barres verticales (« ab|body|div|front|head|lb|p|pb|s|TEI|text|w » par défaut) ;
Toutes les autres balises sont supprimées, leur contenu textuel est en revanche conservé.
txm-filter-bnc_oral-xmlw.xsl : adapte les transcriptions de l'oral du BNC pour un traitement dans TXM.
Projette dans des attributs de balise <div> le contenu de certaines métadonnées du teiHeader (pour faciliter les contrastes internes entre types d'activités) :
titleStmt/title
profileDesc/creation
classCode[@scheme='DLEE']
setting/placeName
setting/locale
setting/activity
setting/activity/@spont
recording/@date ou profileDesc/creation
Projette dans des attributs de la balise <u> le contenu de certaines métadonnées du teiHeader (pour faciliter les contrastes internes entre types de locuteurs) :
profileDesc/particDesc/person[…]/@*
Feuilles d'adaptation de corpus particuliers
-
txm-filter-corpusakkadien-xmlw_syllabes-cuneiform.xsl : filtre de choix des unités lexicales au niveau des syllabes ou au niveau des mots du corpus de tablettes cunéiformes en Akkadien ;
-
txm-filter-perseustreebank-xmlw.xsl : filtre d’adaptation des textes du projet Perseus Treebank ;
-
txm-filter-qgraal_cm-xmlw.xsl : filtre d’adaptation du format diffracté de la Quête du Graal ;
-
txm-filter-rnc-xmlw.xsl : filtre d’adaptation des textes du corpus National Russe ;
-
txm-filter-teibrown-xmlw.xsl : filtre d’adaptation des textes du corpus BROWN du projet NLTK/Brown ;
-
txm-filter-teibvh-xmlw.xsl : filtre d’adaptation des textes TEI du corpus BVH ;
-
txm-filter-teicorpustextgrid-xmlw.xsl : filtre d’adaptation des textes TEI du corpus TextGrid de DARIAH-DE ;
-
txm-filter-teifrantext-xmlw.xsl : filtre d’adaptation des textes du corpus Frantext libre.
-
txm-filter-teiperseus-xmlw.xsl : filtre d’adaptation des textes TEI du projet Perseus après conversion en TEI P5.
6.1.4.2 Édition
Il y a une édition par texte, paginée par défaut par blocs de n mots.
Interprétation des éléments XML pour construire l'édition
Ce module d'import interprète certains éléments XML pour mettre en forme les éditions (HTML) :
Élément text
produit un titre h3 avec l’identifiant du texte (le contenu de l'attribut @id) au début de la première page de l'édition
suivi d'un tableau des noms et valeurs des métadonnées du texte
un saut de ligne est forcé après le tableau
Élément head
produit un titre h2 avec le contenu de l'élément
Élément note
produit un appel de note avec un span contenant le texte « [*] » en rouge affichant un tooltip composé du contenu des sous-éléments w/form et du texte hors w
par défaut, le contenu des notes (le contenu du tooltip) est segmenté et indexé par le moteur de recherche (mais le retour au texte est impossible à partir de concordances). Pour que le contenu des notes ne soit pas indexé, il faut ajouter l'élément note au paramètre d'import ignoredelements (cf. section #16.5.1. Entrée).
Élément graphic
produit un élément div contenant un élément img ayant l'attribut @src à la valeur de l'attribut @url de l'élément graphic et l'attribut @align à la valeur ‘middle’. Si l'attribut @url n'est pas renseigné, cet élément est ignoré.
Éléments lg, p et q
produit un paragraphe p ayant l'attribut CSS @class à la valeur de l'attribut @rend de l'élément d'origine. Si l'élément d'origine n'a pas d'attribut @rend renseigné, le paragraphe n'a pas de style particulier.
Éléments lb et br
force un saut de ligne br
Élément pb (ou la balise de pagination indiqué par le paramètre d'import editionpage)
clos la page courante et ouvre une nouvelle page de l'édition. Si cet élément apparaît au sein d'une imbrication d'éléments, ces derniers sont refermés avant de clore la page courante puis ré-ouverts au début de la nouvelle page.
numérote la nouvelle page par un paragraphe p centré en haut de la page. Le numéro de page de format « - n - » est affiché en rouge à partir du contenu de l'attribut @n de l'élément pb. Si l'élément pb n'a pas d'attribut @n on affiche un numéro de page automatique incrémenté à partir de 1.
Stylage par CSS
Il est possible de personnaliser le stylage des pages HTML par CSS de deux façons différentes.
A) fichier CSS du corpus : on peut déposer un fichier nommé « MONCORPUS.css » dans le répertoire de l’édition par défaut du corpus $TXMHOME/corpora/MONCORPUS/html/default.
Cette CSS est déclarée dans chaque page HTML par la déclaration suivante :
<link rel="stylesheet" type="text/css" href="MONCORPUS.css"/>
Cette feuille de style CSS définit globalement le style de chaque élément HTML ou bien des classes qui seront associées aux différents types de lg, p et q.
B) fichier CSS de TXM : on peut modifier la feuille de style par défaut de TXM $TXMHOME/css/txm.css. Cette CSS est déclarée dans chaque page HTML par la déclaration suivante :
<link rel="stylesheet" type="text/css" href="txm.css"/>
Attention : la modification de ce fichier impactera le style de toutes les éditions produites ultérieurement par les modules d’import de TXM.
6.1.5 XML TEI générique (.xml) : module XML-TEI Zero+CSV (dit aussi XTZ+CSV ou XTZ)
Le module XTZ est capable d'interpréter de façon progressive un jeu minimal de balises TEI appelé « TEI Zero » (dans la lignée des jeux de balises TEI minimaux déjà existants TEI lite, TEI tite, TEI bare ou TEI Simple). Les balises interprétées servent à construire les données habituellement exploitées par TXM dans l'indexation des mots, dans la construction des éditions, etc. Cet import est progressif au sens où il n'est pas nécessaire d'encoder toutes les balises du jeu disponible dans un corpus donné pour pouvoir être importé par le module. L'utilisateur n'encode que les balises qui lui sont nécessaires dans l'exploitation avec TXM.
Ce module remplace le module XML/w+CSV comme module interprétant des balises a priori et de façon progressive, et il s'utilise dans le même esprit.
Ce module est recommandé pour l’import progressif de textes tout-venant encodés en XML-TEI.
6.1.5.1 Balises TEI interprétées
Unités textuelles
text
-
les attributs text@MM présents deviennent des métadonnées ;
-
ces métadonnées sont fusionnées avec celles du fichier metadata.csv ;
-
cette balise est la seule balise obligatoire.
Unités lexicales
w
-
w pré-encode certains ou tous les mots ;
-
les attributs w@PP deviennent des propriétés de mots.
Autres éléments
Tous les autres éléments XML (les autres balises) sont transférés tels quels comme structures intermédiaires entre l'unité textuelle et les unités lexicales, leurs attributs devenant les propriétés des structures. Ces éléments ne sont pas disponibles dans les éditions par défaut, produites par le module. En revanche, ils peuvent être conservés dans les éditions (sous la forme d’éléments HTML span avec l'attribut @class, par exemple) dans les éditions produites par des feuilles de style XSLT (voir plus bas).
Avertissements
-
Tous les éléments XML et leurs attributs sont importés dans TXM sous la forme de structures avec propriétés et de mots avec propriétés par le moteur de recherche CQP. Comme la syntaxe du langage de requêtes (CQL) de ce dernier utilise des mots-clés réservés, il n’est pas possible d’utiliser des noms de structures et de propriétés correspondant à ces mots-clés. La liste des mots que l’on ne peut pas utiliser pour nommer une structure ou une propriété, et donc pour nommer un élément ou un attribut XML, est la suivante : asc, ascending, by, cat, cd, collocate, contains, cut, def, define, delete, desc, descending, diff, difference, discard, dump, exclusive, exit, expand, farthest, foreach, group, host, inclusive, info, inter, intersect, intersection, join, keyword, left, leftmost, macro, maximal, match, matchend, matches, meet, MU, nearest, no, not, NULL, off, on, randomize, reduce, RE, reverse, right, rightmost, save, set, show, size, sleep, sort, source, subset, TAB, tabulate, target, target[0-9], to, undump, union, unlock, user, where, with, within, without, yes ;
-
La gestion de la récursion des structures par CQP peut interférer avec des suffixes de numérotation de noms d’éléments et d’attributs. Par exemple quand un trois éléments ‘<div>’ sont imbriqués, l’indexation CQP les recodera sous les noms (non récursifs) ‘div, div1, div2’. Il vaut donc mieux éviter de nommer les éléments et attributs XML avec des suffixes numériques ;
-
Le caractère underscore (_) étant réservé dans le langage de requêtes CQL, il ne peut pas être utilisé dans les noms de structures et de propriétés donc d’éléments et attributs XML.
6.1.5.2 Éditions
Toutes les pages d'édition sont encodés en HTML5 + CSS3 + Javascript.
Production de l'édition par défaut
Page de garde
L’édition possède une page de garde contenant :
-
un titre h3 composé de l’identifiant du texte (la valeur de text@id) ;
-
le tableau des métadonnées (sauf 'id').
Intertitres
-
head crée un élément h2 ;
-
si head@rend est présent il est transféré dans h2@rend.
Paragraphes
-
p crée un paragraphe p ;
-
si p@rend est présent il est transféré dans p@rend.
Mises en évidence
-
hi rend le texte en gras b ;
-
si hi@rend='i|italic', hi est converti en i ;
-
si hi@rend='b|bold', hi est converti en b ;
-
emph rend le texte en italique i ;
-
si emph@rend='i|italic', emph est converti en i ;
-
si emph@rend='b|bold', emph est converti en b.
Sauts de ligne
-
lb crée un saut de ligne forcé (élément br) ;
Listes à puces
list crée une nouvelle liste à puces :
si list@type = unordered → liste à puces ul ;
si list@type = ordered → liste numérotée ol.
-
si list@rend est présent il est transféré dans ul@rend ou ol@rend ;
-
item crée une nouvelle entrée li ;
-
si item@rend est présent il est transféré dans li@rend.
Tableaux
-
table crée un nouveau tableau table ;
-
si table@rend est présent il est transféré dans table@rend ;
-
row crée une nouvelle ligne tr ;
-
si row@rend est présent il est transféré dans tr@rend ;
-
cell crée une nouvelle cellule td ;
-
si cell@rend est présent il est transféré dans td@rend ;
Illustrations
-
graphic insère une image (élément img avec img@align = “middle” - l'image est centrée -, inséré dans une div) ;
-
si graphic@url est présent il est transféré dans img@src.
Liens hypertextes
-
ref insère un lien hypertexte a avec a@target = “_blank” (le lien s'ouvre dans un nouvel onglet) ;
-
si ref@target est présent il est transféré dans a@href.
Notes de bas de page
note insère :
un appel de note a numéroté à partir de 1 dans la page avec a@id=noteref_N, a@title='contenu de la note' et a@href=note_N ;
une note de bas de page composée :
d'un lien retour vers l'appel a@id=note_N et a@href=noteref_N ;
du contenu de la note dans un span.
Pagination
-
l'élément de pagination termine la page courante en fermant les listes, paragraphes, sections, etc. ouverts ;
-
par défaut l'élément de pagination est pb (valeur du paramètre « pageBreakTag ») ;
-
si un attribut pb@facs est renseigné et la construction de l'édition synoptique est demandée (option “Build 'facs' edition”), alors l'URL est utilisée pour accéder à l'image de la page pour construire l'édition facsimilé ;
-
si on n'utilise pas d'éléments de pagination, cette dernière est réalisée en nombre de mots par page (réglable dans le formulaire de paramètres du module) ;
-
crée une nouvelle page en ré-ouvrant si nécessaire certains éléments au préalable (listes, etc.) ;
-
numérote la page dans l'entête avec un paragraphe centré de contenu ”- p@n -” en rouge.
Mots
-
w génère un mot inséré dans un élément span à span@id unique ayant un span@title contenant la liste de toutes ses valeurs de propriétés.
Stylage par CSS
Il est possible de personnaliser le stylage des pages HTML par CSS de trois façons différentes.
A) répertoire de CSS du corpus : on peut créer un répertoire « css » dans le répertoire des sources et y déposer des feuilles CSS (d’extension « .css »). Le répertoire « css » et les feuilles qu’il contient seront copiés dans le répertoire de l’édition par défaut du corpus $TXMHOME/corpora/MONCORPUS/html/default. Il suffit alors de déclarer les CSS dans le HTML produit pour l’édition, par exemple :
<link rel="stylesheet" type="text/css" href="MyCSS.css"/>
B) fichier CSS du corpus : on peut déposer un fichier nommé « MONCORPUS.css » dans le répertoire de l’édition par défaut du corpus $TXMHOME/corpora/MONCORPUS/html/default.
Cette CSS est déclarée dans chaque page HTML par la déclaration suivante :
<link rel="stylesheet" type="text/css" href="MONCORPUS.css"/>
Cette feuille de style CSS définit globalement le style de chaque élément HTML ou bien des classes qui seront associées aux différents types de lg, p et q.
C) fichier CSS de TXM : on peut modifier la feuille de style par défaut de TXM $TXMHOME/css/txm.css. Cette CSS est déclarée dans chaque page HTML par la déclaration suivante :
<link rel="stylesheet" type="text/css" href="MONCORPUS.css"/>
Attention : la modification de ce fichier impactera le style de toutes les éditions produites ultérieurement par les modules d’import de TXM.
Images et Javascript
Les images et les scripts Javascript utilisés par les pages HTML d'édition peuvent être fournis à l’édition par le biais de répertoires « images », respectivement « js », situés dans le répertoire des sources. Si ces répertoires sont présents dans les sources leur contenu est transféré dans le répertoire de l’édition par défaut $TXMHOME/corpora/MONCORPUS/html/default. Le HTML peut alors y accéder par des URL relatives de la forme « images/image1.jpg ».
Production de l'édition "fac-similé"
Le module XTZ peut produire des éditions synoptiques affichant côte-à-côte différentes versions de chaque page :
-
l'image du facsimilé de la page (son scan ou sa photo) ;
-
l'édition critique de la page ;
-
une autre édition de la page ;
-
une traduction de la page ;
etc.
Par défaut, seule une édition simple, non synoptique, est produite à l'import.
Le module construit une édition incluant les images de pages (de fac-similé) quand on coche l'option « Construire l'édition fac-similé/Build 'facs' edition » du formulaire de paramètres d'import. L'édition des textes est alors implicitement synoptique en combinant au moins l'édition du texte de base et l'édition fac-similé.
Les sources doivent contenir des éléments XML de saut de page, dont on peut choisir le nom avec le paramètre « Balise de saut de page/Page break tag » (valeur « pb » par défaut).
Les images des pages peuvent se trouver sur la machine de l'utilisateur (locales) ou bien être accessibles depuis Internet (distantes).
Désignation des images de pages à partir de fichiers locaux
Toutes les images des pages d'un texte donné doivent être regroupées dans un répertoire ayant comme nom l'identifiant du texte.
Tous les répertoires d'images de pages de textes doivent être regroupés dans un répertoire de base des images du corpus.
Quand le chemin vers ce répertoire de base est fournit au paramètre « Répertoire d'images/Images directory », le module d'import ajoute ou modifie les attributs @facs de tous les éléments de saut de page du corpus à partir des noms de fichiers images. L'ordre alphabétique des noms de fichiers images sera utilisé pour correspondre à l’ordre des sauts de page au fil du texte. Les répertoires d'images sont recopiés dans le corpus binaire.
Désignation des images par URLs encodées dans les sources
Si le paramètre « Répertoire d'images/Images directory » est laissé vide, le module d'import va interpréter directement les valeurs des attributs @facs de chaque élément de saut de page.
Ces valeurs doivent être des URLs absolues ou relatives, distantes (avec le préfixe « http:// », pour désigner une image sur un serveur web) ou locales (avec le préfixe « file:// », c'est à dire désignant des fichiers se trouvant sur la machine de l'utilisateur). Les URLs ne sont pas vérifiées au moment de l'import. Il faut s’assurer de la disponibilité de l'accès aux images au moment de l'exploitation du corpus. Le module XTZ+CSV produit des éditions par défaut en interprétant certains éléments TEI.
Production d'éditions supplémentaires par XSL
L’étape « 4-edition » permet de produire des éditions supplémentaires à l’aide de feuilles de transformation XSL s’appliquant aux représentations XML-TEI TXM de chaque texte du corpus (voir la section 6.1.5.4 page 1).
Une édition est produite par deux XSL appliquées successivement :
-
une première nommée « <n° ordre>-<nom de l’édition>-html.xsl » qui produit un fichier HTML à partir d’un fichier XML-TEI TXM ;
-
une seconde nommée « <n° ordre+1>-<nom de l’édition>-pager.xsl » qui pagine l’édition en découpant le fichier HTML initial en autant de fichiers HTML que de pages.
L’édition est stockée dans le sous-répertoire « <nom de l’édition> » du répertoire « HTML » du corpus binaire. Le nom de l’édition ne doit pas contenir de tiret « - ».
Le nom de l’édition apparaitra dans le menu des éditions disponibles de l’Édition du corpus.
6.1.5.3 Plans textuels
Le module XTZ peut ignorer certaines balises ou certains contenus de balises lors de l'indexation pour le moteur de recherche ou lors de la production des pages d'édition.
Hors texte
Ces éléments sont supprimés entièrement en amont de l'étape de tokénisation. Ils ne sont pas disponibles pour la production des éditions, ni pour la création de références.
Hors texte à éditer
Ces éléments sont conservés, mais le texte qu'ils contiennent n'est pas tokénisé et indexé par le moteur de recherche. En revanche, ce texte est affiché dans les éditions. Exemples d'usage : Introduction à une édition scientifique, titres ajoutés par l'éditeur, entêtes TEI dont on veut utiliser des métadonnées.
Notes
Un type particulier de hors texte à éditer qui prend la forme de notes de bas de page dans les éditions par défaut.
Milestones
Le moteur de recherche CQP de TXM ne peut pas prendre en compte les éléments milestone XML. Cette option permet de déplacer l'information utile dans des propriétés de mots. Pour chaque balise milestone indiquée, on projette dans les mots :
-
-id : l'identifiant du milestone précédent le mot
-
-start : la distance en mots au milestone précédent le mot
-
-end : la distance en mots au milestone suivant le mot
Par exemple avec la valeur de paramètre : lb, cb, pb
on ajoute à tous les mots les propriétés suivantes :
-
lbid, lbstart et lbend
-
cbid, cbstart et cbend
-
pbid, pbstart et pbend
6.1.5.4 Traitements XSL intermédiaires à certaines étapes clés du traitement du module
Le module XTZ permet d'appliquer des XSL aux sources en cours de traitement lors de 4 étapes clés :
-
1-split-merge : traitement initial permettant de changer l'architecture des fichiers, par exemple pour la rendre conforme au modèle de corpus de TXM 1 fichier = 1 texte ;
-
2-front : prétraitement pour changer le contenu des fichiers, par exemple pour éliminer (eg teiHeader) ou transformer certains éléments ;
-
3-posttok : traitement final de la version XML-TEI TXM pivot de chaque texte où chaque mot est déjà encodé, par exemple pour recomposer les mots césurés du corpus ;
-
4-edition : production d'éditions HTML à partir de la version XML-TEI TXM pivot de chaque texte et de la pagination réalisée par le composant de création d’édition par défaut (le Pager).
À chacune de ces étapes clés correspond un répertoire de même nom contenant les XSL des traitements à appliquer à cette étape clé. Les XSL sont appliquées dans l'ordre lexicographique de leur nom. Les répertoires de traitements XSL intermédiaires sont regroupés dans un répertoire « xsl » situé lui-même dans le répertoire des sources. Les traitements sont déclenchés en fonction de la présence des ces répertoires et des XSL.
Chaque XSL peut utiliser les paramètres suivants :
-
number-words-per-page : le nombre de mots par page si indiqué dans le formulaire d'import ;
-
pagination-element : l'élément XML à utiliser pour les sauts de page si indiqué dans le formulaire d'import ;
-
import-xml-path : le chemin du fichier de stockage des paramètres d'import dans le répertoire source.
Cas des XSL de production de l'édition HTML (point '4-edition') :
-
elles reçoivent un paramètre supplémentaire 'output-directory' qui est le chemin du répertoire de sortie des résultats ;
-
elles doivent produire un élément <meta name="description" content="{id du 1er mot de la page}"/> dans l'entête de chaque page produite. Si la page ne contient pas de mot (eg page de garde), elle doivent produire un élément <meta name="description" content="w_0"/> dans l'entête de la page.
Les DTD ou schémas utilisés par les XSL doivent être fournis dans le répertoire 'dtd' du répertoire des sources.
Bibliothèque de feuilles XSL de transformation intermédiaire
TXM est livré avec une librairie de feuilles XSL utiles aux traitements intermédiaires. Les versions les plus à jour de ces XSL se trouvent en ligne à l’adresse https://sourceforge.net/projects/txm/files/library/xsl.
1-split-merge
-
txm-rename-files-no-dots.xsl : remplace les points (.) dans les noms de fichiers source par un souligné (_). Utile pour contourner le bug sur les noms de fichiers source ;
-
txm-split-teicorpus.xsl : éclate en plusieurs fichiers un fichier source contenant un élément teiCorpus composé de plusieurs éléments TEI. Utile pour obtenir une unité textuelle et une édition par texte du corpus TEI dans TXM ;
2-front
Traitements génériques
-
filter-keep-only-select.xsl : cette feuille de transformation générique supprime le contenu de tous les éléments XML à l'exception de ceux désignés par le paramètre « select » et de ses descendants (voir la ligne 43). Si le paramètre select n’est pas renseigné, aucune modification n'est effectuée. La valeur du paramètre select peut également être transmis en paramètre à la feuille XSL ;
-
filter-out-p.xsl : cette feuille de transformation exemple supprime le contenu de tous les éléments <p> ayant un attribut @type à la valeur 'ouverture' (voir l’expression XPath de la ligne 42). Elle peut être adaptée et utilisée pour filtrer le contenu de différentes balises XML à la volée ;
-
filter-out-sp.xsl : cette feuille de transformation exemple supprime le contenu de tous les éléments <sp> ayant un attribut @who à la valeur 'enqueteur' (voir l’expression XPath de la ligne 42). Elle peut être adaptée et utilisée pour filtrer les prises de tour de différents locuteurs à la volée ;
-
filter-number-act-scene-line.xsl : cette feuille de transformation exemple numérote tous les actes, scènes et lignes de l'édition XML de la pièce « All's Well That Ends Well » de William Shakespeare publiée en ligne : https://www.ibiblio.org/xml/examples/shakespeare/all_well.xml.
Elle peut être utilisée pour numéroter à la volée lors de l'import. Le pré-traitement XSL est strict, il est nécessaire de déposer dans le répertoire source (contenant la pièce) le fichier de DTD de la pièce disponible en ligne : http://www.ibiblio.org/xml/examples/play.dtd.
Elle peut également être appliquée de façon définitive sur la pièce au préalable, avant import, avec l'aide de la macro ExecXSL ; -
txm-front-teiHeader2textAtt.xsl : cette feuille de transformation générique extrait des métadonnées de l’élément teiHeader pour les projeter sous forme d’attributs de l’élément text. Elle peut aider à s’affranchir d’un fichier « metadata.csv ».
Feuilles d'adaptation de corpus particuliers
-
p4top5_perseus.xsl : conversion des fichiers XML du projet Perseus du format TEI P4 au format TEI P5.
3-posttok
txm-posttok-addRef.xsl : cette XSL construit des références qui seront affichées par défaut dans les concordances. Elles seront composées de :
la valeur de l'attribut @id de l'élément text ou, le cas échéant, du nom du fichier sans extension ;
éventuellement, le numéro de page : l'attribut @n de la première balise <pb/> qui précède le mot (attention, ce traitement affecte sérieusement la performance sur de gros fichiers) ;
éventuellement, le numéro de paragraphe : l'attribut @n du premier ancêtre <p> ;
éventuellement, le numéro de ligne : : l'attribut @n de la première balise <lb/> qui précède le mot (attention, ce traitement affecte sérieusement la performance sur de gros fichiers).
-
txm-posttok-unbreakWords.xsl : cette XSL permet de reconstruire certains mots qui auraient été découpés par la segmentation lexicale initiale (tokenisation), par exemple à cause de sauts de ligne ou de sauts de page situés au milieu des mots.
-
txm-filter-teitextgrid-xmlw-posttok.xsl : This styleheet should be used to adjust word properties in the tokenized version of DARIAH-DE Textgrid texts.
4-edition
-
1-default-html.xsl : cette XSL permet de construire une édition alternative à celle construite par le module par défaut. Elle transforme chaque élément TEI par un élément span ayant un attribut @class spécifique. Cette XSL est à utiliser conjointement avec la XSL 2-default-pager.xsl ;
-
2-default-pager.xsl : Cette XSL est à utiliser conjointement avec la XSL 1-default-html.xsl pour créer les pages de l’édition ;
-
txm-edition-xtz-corpusakkadien-translit.xsl : XSL a utiliser pour régler les éditions translittérées de tablettes cunéiformes en Akkadien28 ;
-
txm-edition-xtz-cuneiform.xsl : XSL a utiliser pour créer les éditions de tablettes cunéiformes en Akkadien.
6.1.5.5 Ordre des textes
L'ordre des textes d'un corpus a une influence sur l'ordre d'apparition des occurrences dans les progressions ou dans les concordances, sur l'ordre des éditions de textes, etc.
Par défaut, les textes d’un corpus sont ordonnés par l’ordre alphanumérique de leur nom de fichier source (soit la valeur de leur propriété text@id).
Par exemple, pour un répertoire source contenant trois textes « a.txt », « b.txt » et « c.txt », l’ordre des textes du corpus sera « a », « b » et « c ».
Si on souhaite indiquer un ordre de textes différent de l’ordre alphanumérique de leur nom on peut préfixer les noms de textes par un préfixe indiquant l’ordre. Par exemple pour les textes précédents on peut les renommer en « 01c.txt », « 02a.txt « et « 03b.txt » pour obtenir l’ordre « 01c », « 02a » et « 03b ».
Une autre façon plus pratique, et recommandée, consiste à s’appuyer sur un fichier metadata.csv des sources. Si ce dernier contient une colonne « textorder » alors les textes du corpus seront ordonnés selon l'ordre alphanumérique des valeurs de cette colonne. Dans ce cas on n’a pas besoin de renommer les fichiers source.
Par exemple, pour un répertoire source contenant trois textes et le fichier metadata.csv suivant :
-
a.xml commençant par :
<text id="a">A AA AAA</text>
-
b.xml :
<text id="b">B BB BBB</text>
-
z.xml :
<text id="z">Z ZZ ZZZ</text>
-
metadata.csv :
id textorder ...
a 003
b 001
z 002
L'ordre des textes sera 'b', 'z' et 'a'.
6.1.5.6 Tokenisation
Élément mot
Par défaut, l'élément utilisé pour pré-coder la tokenisation est « w », mais il est possible d'en choisir un autre en renseignant le paramètre “Word tag” avec le nom de l'élément à utiliser.
6.1.5.7 Options supplémentaires
Décocher le paramètre « suppression des répertoires intermédiaires » permet de vérifier le résultat d’un certain nombre de traitements intermédiaires de l’import en analysant le contenu de répertoires situés dans le répertoire $TXMHOME/corpora/MONCORPUS :
-
src : ce répertoire contient le résultat final des étapes « split-merge » et « front » combinées ;
-
tokenized : contient le résultat du tokeniseur et de l’étape « posttotk ». Les fichiers qui s’y trouvent sont au même format XML que les fichiers du répertoire « src » avec l’élément « w » en plus encodant chaque mot ;
-
wtc : contient la représentation du corpus directement indexable par l’outil « cwb-encode » du moteur « CQP ». Elle peut être ré-importée très rapidement avec le module « CQP ».
6.1.6 XML TEI de la BFM (.xml) : module XML-TEI BFM
6.1.6.1 Entrée
Le format d'entrée est défini dans la documentation d'encodage de la Base de Français Médiéval (BFM). Chaque texte est représenté dans un fichier au format XML TEI P5 qui encode à la fois le corps des textes et leurs métadonnées.
En plus des fichiers de textes, un fichier de paramètres appelé « import.properties » contient les expressions XPath29 servant à extraire les métadonnées des textes dans leur entête TEI.
Voici un exemple de contenu de ce fichier:
titre=/tei:TEI/tei:teiHeader/tei:fileDesc/tei:titleStmt/tei:title[@type='reference']/text()
auteur=/tei:TEI/tei:teiHeader/tei:fileDesc/tei:titleStmt/tei:author/text()
Glose :
- la valeur de la métadonnée « titre » correspond au contenu d'un élément <title> se trouvant à un endroit précis de l'entête TEI et dont l'attribut « type » vaut « reference » ;
- la valeur de la métadonnée « auteur » correspond au contenu d'un élément <author> se trouvant à un endroit précis de l'entête TEI.
Durant l'import, chaque mot reçoit une nouvelle propriété "ref", qui sera utilisée pour afficher la référence par défaut des concordances. Cette propriété est construite à partir de plusieurs informations :
-
le sigle du texte, valeur de l'attribut text@sigle
-
le numéro de paragraphe, valeur de l'attribut p@n
-
si le texte contient des vers : le numéro de vers, valeur de l'attribut lb@n
La valeur de l'attribut text@sigle est construit lors de l'étape "importer" du module d'import en récupérant l'information, par ordre de préférence, dans :
-
le retour de l’XPath associée au paramètre "idbfm" déclaré dans le fichier "import.properties"
-
le retour de l’XPath associée au paramètre "sigle" déclaré dans le fichier "import.properties"
-
le nom du fichier source XML
Attention, le module d'import ne gère pas les balises TEI div1, div2, etc. Il faut les remplacer par des balises div soit directement dans les sources XML, soit à l'aide d'une feuille XSL d'entrée.
Pour plus d'informations sur l'encodage des textes de la BFM :
-
Manuel d’encodage XML-TEI des textes de la BFM : http://bfm.ens-lyon.fr/article.php3?id_article=158
-
Consortium de la Text Encoding Initiative : http://www.tei-c.org
6.1.6.2 Annotation
Des annotations morphosyntaxiques sont ajoutés avec TreeTagger au moyen du modèle linguistique « fro.par ». Le jeu d'étiquettes utilisé par ce modèle est CATTEX2009 (voir http://bfm.ens-lyon.fr/article.php3?id_article=176).
6.1.6.3 Édition
L'édition des textes est assez proche de celle réalisée pour le projet « Queste del Saint Graal » (voir http://portal.textometrie.org/txm). Toutefois cette partie du module sera remplacée à terme par les feuilles de styles XSLT+CSS d'Alexis Lavrentiev pour produire une édition équivalente et pérenne.
6.1.7 XML TEI de Frantext libre (.xml) : module XML-TEI Frantext
Ce module importe des textes du corpus Frantext « textes libres de droits » encodés en XML-TEI <http://www.cnrtl.fr/corpus/frantext>.
Les textes sont d’abord convertis au système d’encodage des textes de la BFM avec la feuille de transformation txm-filter-teifrantext-teibfm.xsl :
-
l'élément '<br/>' est recodé en '<lb/>' ;
-
les mots étoilés sont réencodés en '<w type=“caps”>…</w>' ;
-
l'entête TEI est corrigée, en particulier l'élément '<auteur>' est converti en '<author>' ;
-
les éléments '<seg>' sont réencodés en '<w>…</w>'.
puis ils sont importés par le module XML-TEI BFM (voir section 6.1.6 page 1 pour le détail des opérations).
6.1.8 XML TEI de TXM (.xml) : module XML-TEI TXM
6.1.8.1 Entrée
Ce module importe directement des textes au format pivot interne de TXM appelé XML-TXM30 (diminutif de « XML-TEI TXM »). Il s’agit d’un module technique utilisé pour le développement de la plateforme TXM. Il n’est pas recommandé pour l’utilisateur non expert.
Ce module ne réalise pas de tokenisation ni de calcul d’identifiants de mots car le format XML-TXM encode déjà les mots dans des éléments « <w> ».
6.1.8.2 Sortie
Les métadonnées de textes sont issues des propriétés encodées au niveau des entêtes des textes.
Les structures intra-textuelles et leurs propriétés sont issues de toutes les éléments XML hors schéma XML-TXM.
Les mots et leurs propriétés sont issus des éléments '<w>'.
6.1.8.3 Annotation
Il n'y a pas d'annotation ajoutée dans ce module.
6.1.8.4 Édition
Il y a une édition, limitée, par texte et paginée par blocs de n mots.
6.1.9 XML de Factiva (.xml) : module XML Factiva
Ce module prend en charge le format Factiva XML. Ce format n'est plus disponible pour les licences éducative et recherche de Factiva.
6.1.9.1 Entrée
Ce module prend en entrée les fichiers produit par l'export XML du portail Factiva31. Les fichiers sont traités puis importé à l'aide du module XML/w+CSV.
Le traitement des fichiers PPS est celui proposé par Daniel Marin et Florent Bédécarrats : il commence par restructurer les informations du header pour quelles soient exploitables par TXM.
6.1.10 Export Mail de Factiva (.txt) : module Factiva TXT
Ce module convertit les fichiers sources du format export Mail Factiva au format Alceste, puis applique l'import Alceste.
6.1.10.1 Entrée
Ce module prend en entrée le format d'export Mail de Factiva, en suivant les recommandations d'export Factiva de Pierre Ratinaud et Lucie Loubere :
-
faites votre recherche classique ;
-
une fois vos articles sélectionnés, au dessus de ces derniers, dans « Options d'affichage » sélectionnez « article complet et indexation » ;
-
demandez à voir les articles ;
-
copier la totalité du contenu dans un document .txt.
6.1.11 Sortie CNR de Cordial (.cnr) : module CNR+CSV
6.1.11.1 Entrée
Corps de texte
Les textes sont des fichiers au format CNR de Cordial, c'est à dire un TSV avec comme caractère séparateur de colonne la tabulation et sans caractère de champ.
Dans l'ordre, les colonnes des fichiers CNR sont :
-
para : le numéro de paragraphe
-
sent : le numéro de phrase
-
form : la forme graphique d'une unité lexicale
-
lem : le lemme
-
pos : la propriété morphosyntaxique
-
func : la fonction syntaxique
Métadonnées de texte
Les métadonnées des textes sont encodées dans un fichier au format CSV nommé « metadata.csv » situé dans le même dossier que les fichiers sources.
Le séparateur de colonnes est « , ». Le caractère de champ32 est « " ».
La première ligne d'entête nomme chaque métadonnée.
La première colonne doit être nommée « id », les suivantes sont nommées à la discrétion de l'utilisateur mais sans utiliser de caractères accentués ou spéciaux.
La première colonne doit contenir le nom du fichier source (sans extension) qui correspond aux métadonnées de la ligne.
6.1.11.2 Sortie
On obtient en sortie des structures pour les paragraphes (p), les phrases (s) et les textes (text). Les mots sont équipés de toutes les propriétés correspondant aux colonnes CNR.
6.1.11.3 Annotation
Il n'y a pas d'annotation ajoutée dans cet import, il ne nécessite pas la présence de TreeTagger.
6.1.11.4 Édition
Les pages d'édition sont découpées par blocs de n mots. La première page d'édition de chaque texte reprend la liste des métadonnées lues dans le fichier CSV.
6.1.12 Texte brut étoilé Alceste-IraMuTeQ (.txt) : module Alceste
6.1.12.1 Entrée
Ce module prend en entrée un fichier au format utilisé par le logiciel Alceste (format également utilisé par IRaMuTeQ - http://www.iramuteq.org). Il s'agit d'un format de texte brut utilisant quelques conventions d'encodage simples.
Pour encoder un début de texte (qui correspond à l'« uci », unité de contexte initiale dans la terminologie d'Alceste) et ses métadonnées, il y a deux façons de faire au choix :
-
une ligne de la forme : 0001 *Meta1_Val1 *Meta2_Val2... *MetaN_ValN
-
une ligne de la forme : **** *Meta1_Val1 *Meta2_Val2... *MetaN_ValN
*Meta_val, déclare une métadonnée de texte dont « Meta » est le nom et « val » la valeur. Si une métadonnée de texte n'a pas de valeur, on peut utiliser la notation suivante : *Meta.
Pour TXM, les noms d'attribut sont composés uniquement de lettres sans distinction de casse tout sera ramené en minuscules) et sans diacritique (sans accent).
Pour pré-encoder un mot composé, on peut remplacer les espaces entre ses constituants par un caractère « _ ». Par exemple, « l'assemblée_nationale » peut être segmenté en deux mots : « l' » et « assemblée_nationale ».
Le format Alceste propose également un moyen de coder des sections à l'intérieur des uci, sections caractérisées par une variable étoilée (notation : -*Meta_Val sur une ligne), mais ce module d'import TXM ne le gère pas encore.
6.1.12.2 Sortie
En sortie, on obtient des structures de texte (text) et des mots segmentés par les caractères séparateurs.
6.1.12.3 Annotation
Des annotations morphosyntaxiques et le lemme sont ajoutés avec TreeTagger.
6.1.12.4 Édition
Il y a une édition par texte paginée par blocs de n mots.
6.1.13 Texte brut esperluette Hyperbase (.txt) : module Hyperbase
6.1.13.1 Entrée
Ce module prend en entrée un fichier au format Hyperbase ancienne version. C'est à dire avec des lignes séparatrices de textes de la forme suivante :
…
&&& Nom du texte long, NomduTexte, NomCourt &&&
…
Les lignes de saut de pages (codées par « \$ ») sont interprétées. Elles se répercutent par des structures p.
6.1.13.2 Annotation
Des annotations morphosyntaxiques et le lemme sont ajoutés avec TreeTagger.
6.1.13.3 Édition
Il y a une édition par texte paginée par blocs de n mots.
6.1.14 Tabulé pour CQP (.wtc) : module CQP
6.1.14.1 Entrée
Ce module importe un fichier au format natif du moteur CQP (d’extension ‘.cqp’, ‘.wtc’ ou ‘.vrt’33 selon les contextes). Si un fichier de déclaration (nommé « registry ») est présent, il sera analysé pour obtenir les propriétés du corpus.
6.1.14.2 Sortie
Un « id » est ajouté à chaque mot.
6.1.14.3 Édition
L'édition produite est très simple. Il y a quelques mise en formes :
-
un saut de ligne à la fin de chaque élément paragraphe « p »
-
un saut de ligne si un élément « lb » ou « br » est rencontré.
26 Voir https://fr.wikipedia.org/wiki/LibreOffice#Format_des_documents.
27 Le contenu des sous-dossiers éventuels sera également importé.
28 Voir la page de suivi du projet : https://groupes.renater.fr/wiki/txm-users/public/umr_proclac_corpus_akkadien#etape_3_facultative_mise_a_jour_de_l_edition_translitteree_affichage_des_sauts_de_lignes_et_de_traits_d_union_entre_les_syllabes.
29 XML Path Language (Xpath) 2.0 : http://www.w3.org/TR/xpath20.
30 Voir la spécification de ce format dans le wiki des développeurs de TXM : https://groupes.renater.fr/wiki/txm-info/public/xml_tei_txm.
31 Voir http://www.factiva.com.
32 le caractère de champ permet d'encadrer des valeurs complexes contenant notamment des espaces ou des caractères délimiteurs de colonnes.
33 Format d'entrée des sources d'un corpus pour les outils d'indexation du moteur de recherche CQP. Voir « The IMS Open Corpus Workbench (CWB) Corpus Encoding Tutorial », http://cwb.sourceforge.net/files/CWB_Encoding_Tutorial.pdf.