Documentation utilisateur XTZ+CSV

Le module XTZ est capable d'interpréter un jeu minimal de balises TEI appelé “TEI Zero” (dans la lignée des jeux de balises minimaux déjà existants TEI lite, TEI tite, TEI bare). 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. Il est progressif au sens où il n'est pas nécessaire d'encoder toutes les balises du jeu dans un corpus donné pour pouvoir être importé par ce module. L'utilisateur n'encode que les balises qui lui sont nécessaires dans l'exploitation avec TXM.

Il 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.

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é-code certains ou tous les mots
  • les attributs w@PP deviennent des propriétés de mots

Éditions

page de garde
  • chaque édition de texte possède une page de garde contenant :
    • un titre h3 contenant la valeur de text@id
    • le tableau des métadonnées (sauf 'id')
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
saut 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
  • 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 (paramètre 'pageBreakTag')
  • si un attribut pb@facs est renseigné et la génération de l'édition synoptique est sélectionné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
  • numérote la page dans l'entête avec un paragraphe centré de contenu ”- p@n -” en rouge
  • (proposition non implémentée) si l'élément de pagination est spécifié, la référence par défaut des concordances est construite avec l'identifiant du texte suivi du numéro (@n) de l'élément de pagination précédent (par exemple : “text@id, p. pb@n”)
mots
  • w ajoute un mot dans un élément span à span@id unique ayant un span@title contenant la liste de toutes ses valeurs de propriétés

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'élements HTML span avec l'attribut @class, par exemple) dans les éditions produites par des feuilles de style XSLT (voir plus bas).

Plans textuels

Le module XTZ peut ignorer certaines balises ou 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
  • (proposition non implémentée) -n : le numéro du milestone précédent le mot (son @n ou le décompte des éléments précédents le cas échéant)

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

Traitements XSL intermédiaires à certains points clés du module

Le module XTZ permet d'appliquer des XSL aux sources en cours de traitement lors de 4 points clés :

  • 1-split-merge : traitement initial pour 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é
  • 4-edition : production de l'édition HTML à partir de la version XML-TEI TXM pivot de chaque texte et de la pagination réalisée par le Pager

À chaque point clé du module correspond un répertoire de même nom dans le répertoire source contenant les XSL à appliquer à ce point clé. Ces XSL sont appliquées dans l'ordre lexicographique de leur nom.

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 recoivent 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 source.

Exemples de XSL intermédiaires

Patterns de traitements :

  • teiCorpus : rename (teiCorpus, TEI), rename(text, div), remove(/TEI/teiHeader), remove(/teiCorpus/TEI/teiHeader)
  • id2facs (PALAFRALAT) : buildUrl(id, prefix)
  • caesura2w (PALAFRALAT)
  • id2facs (BHE) : buildUrl(id, mets source)
  • header2text (GeNao)
  • header2div (PALAFRALAT)
  • headerPerson2u (GeNao)
  • headerDelete (generic, at the end of workflow)
  • xml2html : element→span, if element@rend span@class=“element-italic” + CSS (eg CSS tei oriented)
1-split-merge
2-front
3-posttok
    • Cette XSL ajoute une référence qui sera affichée par défaut dans les concordances TXM. Elle sera composée 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 la page : l'attribut @n de la première balise <pb/> qui précède le mot (attention, cette affecte sérieusement la performance sur de gros fichiers)
      • éventuellement, le numéro du paragraphe : l'attribut @n du premier ancêtre <p>
      • éventuellement, le numéro de la ligne : : l'attribut @n de la première balise <lb/> qui précède le mot (attention, cette affecte sérieusement la performance sur de gros fichiers)
4-edition

Production des éditions

Le module XTZ peut produire des éditions synoptiques affichant côte-à-côte différentes versions de chaque page :

  • une version affichant l'image du facsimilé de la page (son scan ou sa photo)
  • une version affichant l'édition de la page
  • une version affichant une autre édition de la page
  • une version affichant une traduction de la page
  • etc.

Toutes les pages d'édition sont encodés en HTML5 + CSS3 + Javascript.

Par défaut, seule une édition simple (non synoptique) est produite à l'import.

Production d'édition "fac-similé"

Le module peut construire une édition incluant les images de pages (de fac-similé) en cochant 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

Dans ce cas, il faut indiquer à TXM un répertoire contenant les images, dans lequel 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.

Quand le chemin de ce répertoire est fournit au paramètre “Répertoire d'images/Images directory”, le module d'import va ajouter ou modifier 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 affecter le nom de chaque fichier image à chaque saut 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 les valeurs des attributs @facs de chaque élément de saut de page.

Ces valeurs doivent être des URLs qui peuvent être absolues ou relatives, distantes (avec le préfixe ”http://”) ou locales (avec le préfixe ”file://, c'est à dire pour désigner des fichiers se trouvant sur la machine de l'utilisateur). Les URLs ne sont pas vérifiées au moment de l'import. Vous devez vous assurer de la disponibilité de l'accès aux images au moment de l'exploitation du corpus.

Production de l'édition "Défault"

Transfert de la macro xtzEditionBuilder vers le module XTZ (voir la spec plus haut)

Ressources supplémentaires

Les CSS, les images et les scripts Javascript utilisés par les pages HTML d'édition doivent être fournies respectivement dans les sous-répertoires du répertoire source suivants :

  • css
  • images
  • js

Pour désigner ces ressources, les url doivent être relatives à la page.

Les répertoires contenant les éditions d'un corpus binaire se trouvent dans

$TXMHOME/corpora/$CORPUSNAME/HTML/$CORPUSNAME
. TXMHOME étant le répertoire de travail de TXM par défaut créé dans le répertoire utilisateur et CORPUSNAME étant le nom du corpus.

Ordre des textes

L'ordre des textes d'un corpus concerne l'ordre d'apparition des occurrences dans les progressions ou dans les concordances, l'ordre des éditions de textes, etc.

Si le répertoire source du corpus contient un fichier metadata.csv et 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.

Par exemple, pour un répertoire contenant :

  • a.xml :
    <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'.

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 champ “Word tag” avec le nom de l'élément à utiliser.

Options supplémentaires

La section “Options” du formulaire d'import, offre une nouvelle option (d'autres suivront).

  • suppression des répertoires intermédiaires : ils sont par défaut nettoyés.
public/specs_import_xtz_docu.txt · Dernière modification: 2017/05/11 16:07 par slh@ens-lyon.fr