Dominique Meeùs
Dernière modification le
retour à la table des matières
— à l’index
— à ma page de départ
Le consortium TEI est le dépositaire de la spécification (sous forme de DTD ou de schéma) et la développe. La signification de la spécification et la manière de l’utiliser sont données par les Guidelines. Il y a un wiki.
La TEI fournit aussi diverses transformations (stylesheets). Ces feuilles de style et d’autres outils TEI sont distribués aussi comme paquets Debian en packages.tei-c.org/deb/.
Le système TEI Boilerplate permet de publier directement en ligne le fichier TEI lui-même. Il y a juste quelques fichiers à copier sur le site, une instruction à ajouter dans le fichier TEI et on peut appeler ce fichier directement avec n’importe quel browser moderne. C’est d’une simplicité enfantine et le résultat est impressionnant 1. En TEI Boilerplate, on affiche un fichier TEI XML, pas un tas de pages. On pourrait avoir une table des matières ou un index, mais il faudrait les encoder en dur.
Le dispositif OxGarage fourni par l’université d’Oxford pour la TEI permet en ligne de nombreuses conversions standard de formats de texte, pas seulement TEI. Il y en a deux niveaux :
TEI OxGarage Conversion, conversions basées sur la dernière version stable des stylesheets de la TEI.
Test OxGarage service, la version bleeding edge du même service.
Le précieux site TEI by example (TBE) du Centrum voor Teksteditie en Bronnenstudie (CTB) de la Koninklijke Academie voor Nederlandse Taal- en Letterkunde (KANTL) à Gand (avec le Department of Digital Humanities du King’s College London et le Department of Information Studies de l’University College London) offre, entre autres, un validateur en ligne.
Les éditeurs de code en général ou plus ou moins wysiwyg sont développés ailleurs.
Il semble, à en juger par les forums, que l’éditeur oXygen soit presque incontournable en XML. Personnellement, j’ai pas pas eu le courage du nécessaire apprentissage qui permettrait de l’apprécier et, après avoir payé un an de licence, j’ai abandonné (d’autant plus qu’entre-temps le prix avait augmenté) ; j’avais d’abord un peu appris Serna, mais immédiatement abandonné à cause de la limitation à P4 (et depuis il a cessé d’être gratuit). Je tisse donc mon code TEI P5 à la main avec Bluefish (et des snippets personnalisés).
Je résous les inclusions avec un processeur simple en XSL version 2. Comme je sais
que mes inclusions sont toujours en XML et qu’elles existent, je ne dois pas me préoccuper
d’inclusions texte ou d’un fallback
. J’ai appelé mon processeur simple XIncluder (avec un r final pour lui donner une forme verbale) 2. Je fais donc
saxon -o:TEI-resolved.xml TEI-base.xml XIncluder.xsl⚓
Je vérifie par xmllint --noout TEI-resolved.xml
que le fichier résultant est du XML bien formé et je valide la conformité à un schéma
Relax NG pour TEI 3 avec jing (parce que xmllint n’en sort pas) :
jing tei_all.rng TEI-resolved.xml⚓
Je transforme mon TEI (surtout en XHTML) avec Saxon 4 à partir des transformations distribuées par Oxford (que j’importe dans un fichier de préférences pour le projet). Ça n’a rien de sorcier :
saxon -o:index.html TEI-resolved.xml projet.xsl⚓
Éditer en TEI un texte de structure très hiérarchisée, avec des citations et des références
bibliographiques, des notes, un index des mots-clefs, des tableaux, des compositions
en SVG, des formules en MathML, c’est bien sûr un gros travail. Par contre, un texte
littéraire avec un seul niveau de subdivision — des chapitres — et tout au plus quelques
mots mis en évidence par des italiques, si on a le texte brut, c’est très simple,
pour autant que la rupture des alinéas y soit bien visible (par \n\n
, par exemple). Au lieu de sélectionner les alinéas pour les baliser en <p>
Lorem ipsum…</p>
, il vaut mieux remplacer automatiquement toutes les ruptures d’alinéas par </p>\n<p>
et faire la main les quelques corrections nécessaires, aux divisions, aux titres
et aux extrémités du fichier.
J’ai trouvé chez Gutenberg Australie le texte d’Orlando de Virginia Woolf, qui me semble justement arrivé en fin de droits, et j’en ai tiré avec Bluefish en un gros quart d’heure un livre en TEI, donc aussi en pages web et en ePub. La forme en pages web est dans le dossier Orlando où vous trouverez aussi la source en TEI ../edit/Orlando/Orlando.xml et le livre électronique au format ePub ../edit/Orlando/Orlando.epub (améliorable), à afficher si vous le pouvez ou à télécharger pour votre smartphone ou votre tablette.
xml:base
, ce qu’on appelle base URI fixup. (Pour plus d’information, chercher cette expression sur le Web.) Mais les chemins
sont relatifs au dossier où je mettais mes fichiers à inclure et ces chemins n’ont
pas de sens dans mon site web. Mon processeur XIncluder est conforme à mes besoins.
Il ne se conforme pas à la spécification XInclude sur ce point. La commande xmllint --output TEI-resolved.xml --xinclude TEI-base.xml
constitue un très bon processeur, conforme, mais cela précisément ne m’arrange pas
pour le Web.