Liste de liens :
Liste de liens :
Voir les tickets :
Créer un module interprétant un nombre raisonnable de balises TEI pour :
Un mécanisme doit également permettre de filtrer/préserver certains éléments (hors-texte) voire aider à faire différentes variantes d'un même corpus (plans textuels).
Un mécanisme doit permettre de déterminer l'ordre des textes à partir d'une métadonnée.
Ce module d'import doit tenir compte des objectifs des deux versions RCP et GWT de TXM. Il faudra unifier les besoins en paramètres d'import.
Description of how this module interprets TEI elements in source texts.
This is the 'External TEI' managed by TXM.
TXM also manages the 'Internal TEI' format called 'XML-TXM'.
Use the 'text' element if present.
If not, create a 'text' element (internaly - XML-TXM)
If multiple 'text' elements in a single file (in sequence or nested): ignore sub-text and other texts and display error message.
Use the 'w' element if present.
If not, create a 'w' element (internaly - XML-TXM)
If multiple 'w' elements in a single file (nested): ignore sub-w and display error message
See also:
Solutions:
2 Cases :
A) rules by language
B) source encoding
If the source contains a w@join=“left”, the word must not be separated by space even if the A) rules apply
e.g. FR
a<w join="left">:</w>c
→ 'a: c'
Règle de pré-tokenisation : si une des balises suivantes est utilisée pour encoder des interventions au niveau d'une lettre ou une séquence de lettres (pas un mot complet) alors le mot les contenant doit être encodé par <w>.
Toutes ces balises sont laissées dans les sources pivot.
Le contenu des sic de séquences de mots est laissé dans les sources pivot (pour les afficher en hors texte à éditer).
6 paires de balises :
Interprétations
Outils de stylage
.reg { color: green }
.supplied { color: blue } .supplied:before { content:"[" } .supplied:after { content:"]" }
- <reg> ou <supplied>
Exemples
n<reg reason="lost">ỉ</reg>
<w>n<reg reason="lost">ỉ</reg></w>
wp<supplied reason="lost">w</supplied>t
<w>wp<supplied reason="lost">w</supplied>t</w>
<supplied reason="lost" evidence="parallel">‘nḫ<reg type="___">.w</reg> wḏȝ <reg type="___">.w</reg></supplied>
<supplied reason="lost" evidence="parallel"><w>‘nḫ<reg type="___">.w</reg></w> <w>wḏȝ <reg type="___">.w</reg></w></supplied>
→ tout <reg> ou <supplied> doit se trouver dans un <w>
Remarques :
- <choice><sic><corr>
Exemple
s<choice> <sic>t</sic> <corr>ṯ</corr> </choice>
<w>s<choice> <sic>t</sic> <corr>ṯ</corr> </choice></w>
→ tout <choice><sic><corr> doit se trouver dans un <w> ? OUI
- mots collés '.'
<w lemma="sḳdy">sḳd</w>.f
<w lemma="sḳdy">sḳd</w><w join="left">.f</w>
Don't manage nested OT elements.
See also:
Examples
<head>
<div type="bibliography">
→ ajouter la sélection par valeur d'attribut dans les plans textuels (eg syntaxe URSQL)
Examples
<rend style="writing-mode:horizontal-tb; direction:lrt">
<p style="writing-mode:horizontal-tb; direction:lrt"> ?
<rendition id="rubrum" style="writing-mode:horizontal-tb; direction:lrt"> ?
→ transférer les @style en HTML tels quels
<hi rend="rubrum">
<hi rend="#rubrum"> ?
→ créer une classe CSS 'rubrum' ?
Before developing new sections in the parameters form, we represent some new import parameters with new source directories.
All the content of those sub-directories must be copied to the binary corpus by the import module in the end.
Contains the dtd files to use with XSLs. See http://docs.oracle.com/javase/7/docs/api/javax/xml/stream/XMLInputFactory.html
Contains the css files to use with HTML pages in editions
Contains different types of XSL sub-directories (if a directory is absent or empty it is not used)
[x] Construire l'édition Nombre de mots par page [500] Élément de pagination [pb] Répertoire local d'images de facsimilés [...]
Si les sources contiennent des éléments lb numérotés par l'attribut @n, alors la numérotation est projetée dans la propriété de mot “lbn” des mots qui suivent l'élément lb. Si @n n'est pas renseigné, alors la valeur de la propriété “lbn” est réglée sur “SN”.
Toutes les éditions commencent par une page de garde.
Jusqu'à TXM 0.8.3, le module XTZ produit une page de garde fixe avec l'@id du texte et le tableau de ses métadonnées (quand il y en a).
Dans le module XTZ, la construction par XSL permet de réaliser des pages de garde personnelles sauf pour l'édition @facs.
Pour pouvoir la personnaliser et personnaliser toutes les pages de garde avec le Pager par défaut de TXM on peut interpréter une zone dédiée à TXM dans la source TEI.
Par exemple, de façon optionelle, dans :
Le contenu TEI de txm:front est rendu en HTML comme pour le texte de base.
S'il n'y a pas de txm:front pour une édition on met le @id du texte et le tableau de ses métadonnées (quand il y en a).
Jusqu'à TXM 0.8.3, il n'y a pas de moyen simple de scénariser une table des matières (table of contents - toc) hypertextuelle pointant vers les différentes sections d'un texte pour faciliter la navigation structurelle dans une édition.
Pour pouvoir créer une TOC avec le Pager par défaut de TXM on peut interpréter une zone dédiée à TXM dans la source TEI.
Par exemple, de façon optionelle, dans :
Le contenu TEI de txm:toc est soit rendu en HTML comme pour le texte de base avec des liens hypertextuels interprétés pour navigueur dans les éditions, soit interprété pour construire une vue avec les widgets nécessaires.
S'il n'y a pas de txm:toc pour une édition on peut essayer d'interpréter quelques éléments TEI structurels pour établir une toc, éventuellement avec l'aide de feuilles XSL de la communauté TEI proposant de calculer des TOCs.
Voir la Documentation utilisateur XTZ+CSV pour l'état actuel de la construction de l'édition par défaut.
Édition optionnelle si l'utilisateur souhaite afficher les facsimilés de son édition.
2 cas possibles :
Modifications à apporter au formulaire d'import :
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />
[x] Construire les éditions Pagination : [x] Nombre de mots par page [500] [ ] Élément de pagination [pb] (V2 : XPath, e.g. //milestone[@type='surface'] ) Adresses des images de facsimilé : ( ) pas d'images (x) dans les @facs de l'élément de pagination ( ) construites à partir d'un répertoire [ ] [...] Construire les éditions par XSL ...
Voir la page https://groupes.renater.fr/wiki/txm-info/public/specs_production_editions_synoptiques.
Les macros XSLEditionBuilder et XTZEditionBuilder ont été intégrées dans le module XTZ.
(copié à partir de
La prise en compte des attributs dans @class risque de créer trop de classes, difficiles à gérer en CSS. En revanche, on peut transférer en html les attributs potentiellement utiles pour le stylage :
See especially <ref target="http://www.natcorp.ox.ac.uk/Texts/A02.xml#s2">the second sentence</ref>
Par défaut 'pb' dans l'initialisation du champ “Page break tag” du formulaire d'import
élément u → créé un span@class=sync avec la valeur de u@time si présent
élément sp → créé un p@class=turn avec la valeur de sp@speaker si présent
, cf. l'algo général. Les sp contiennent forcément des p, ab ou (contenu texte non autorisé) l
Proposition d'algo selon l'XSL d'AL (reformulée en STAX) :
- état initial : "hors-p" - p|ab|l|u ouvre --> on écrit <p>, l'état passe à "in-p" - head|item|note ... (liste à compléter) ouvre --> on écrit l'élément html comme spécifié, l'état passe "in-p" - autre élément ouvre --> on écrit <div>, l'état reste "hors-p" - état "in-p" - p|ab|l|u ferme --> on écrit </p>, l'état passe à "hors-p" - head|item|note ... ferme --> on ferme l'élément, l'état reste "in-p" - div|lg ouvre --> on écrit <div>, l'état passe à "hors-p" - autre élément ouvre --> on écrit <span>, l'état reste "in-p"
*AL* : pour info le comportement de la transformation TEI → HTML de Rahtz (Oxgarage)
Si un l est descendant de p (la TEI le permet), le p est fermé avant le début du vers, et un autre p s'ouvre après la div , e.g.
<p rend="stanza"> <lb n="5"/>Qui m'ont conduit et t'ont conduite, <l n="6">- Mélancoliques pèlerins, -</l> <l n="7">Jusqu'à cette heure dont la fuite</l> <l n="8">Tournoie au son des tambourins.</l> </p>
devient
<p class="stanza">Qui m'ont conduit et t'ont conduite, </p> <div class="l">- Mélancoliques pèlerins, -</div> <p class="stanza"> </p> <div class="l">Jusqu'à cette heure dont la fuite</div> <p class="stanza"> </p> <div class="l">Tournoie au son des tambourins.</div>
élément → span@class=élément
Attention à bien avoir la même gestion des évenements Start en End sinon le HTML sera mal formé
* Integrate the XMLText2MetadataCSV macro content to pull metadata from teiHeaders directly.
(Voir la spéc Éditions / Navigation dans les pages)
risque de conflits en cas d'utilisation des attributs (pb/@n ou pb/@xml:id) pré-encodés dans les sources
to index | to edit | Comments | |||
---|---|---|---|---|---|
structure | word | structure | word | ||
Normal-text | yes | yes | yes | yes | Default behavior: all source content is imported |
Ignored-structures-and-structures-not-to-edit | no | yes | no | yes | Structures ignored: for example to simplify encoding: persname / forename → persname - can be done by front XSL |
Ignored-structures-and-structures-to-edit | no | yes | yes | yes | Structures to edit only: for example for rendering (italics, bold…) to ignore as structures but render in editions |
Ignored-structures-and-words-to-edit (Outside-text) | no | no | yes | yes | Structures and content to edit only: for example for notes |
Ignored-structures-and-words (Outside-text) | no | no | no | no | Structures and content to ignore: for example encoding comments or technical or infrastructural information |
Ordre d'affichage dans le formulaire d'import :
Ordre d'affichage dans le formulaire d'import :
Plans textuels disponibles :
Déplacer la déclaration des éléments à mettre en forme comme note de bas de page dans la section “Édition”.
Si les notes ne doivent pas être indexées, il suffit d'ajouter l'élément dans 'Hors texte à éditer'.
AL : proposition alternative : utiliser la syntaxe de sélecteurs CSS, plus connus et standards, cf. https://www.w3schools.com/cssref/css_selectors.asp.
Element text crée un élement h3 avec @id itère sur ses attributs pour afficher un tableau : nom + valeur saute une ligne Element head crée un élément h2 avec le contenu de la balise head Element note crée un span contenant le texte ”[*]” en rouge avec un tooltip qui contient le contenu des w/form et du texte hors w le contenu des notes est normalement tokenisé et indexé par le moteur de recherche (mais le retour au texte est impossible à partir de concordances) pour ne pas indexer le contenu des notes, il faut ajouter une ligne “ignoredelements=note” dans le fichier import.properties (cf. Le Manuel de référence TXM) dans ce cas, on peut dupliquer les notes lors de la préparation du corpus et placer les doublons à la fin du document dans <p rend=“note”> Element graphic si @url est renseigné, crée une balise img dans une balise div et utilise graphic@url pour renseigner img@src Elements lg, p et q crée un élément p si @rend est renseigné il est utilisé pour remplir p@class Elements lb et br crée un élément br Element pb (ou l'élément de pagination indiqué dans import.properties) coupe la page en refermant les balises ouvertes puis en les ré-ouvrant crée un élément p centré dont le texte est affiché en rouge est : ”- @n -”.
cf. ticket #1548
Voir https://groupes.renater.fr/wiki/txm-users/public/ateliers_edition_analytique et son tutoriel.
Voir https://groupes.renater.fr/wiki/txm-info/public/tutorial_macro_xtzimporter_en
New Features
Synchronize Pager with XSL editions
Documentation utilisateur XTZ+CSV
Le 'hors texte à éditer' pose problème : la présence d'un élément provoque à tort la tokenisation à l'intérieur.
Le 'hors texte' empêche certains traitements ultérieurs de travailler, exemple : récupération des métadonnées depuis le teiHeader.
Le Tokeniser met systématiquement des sauts de ligne qui peuvent être gênants (voir #2184).
Question #TXM ! Est-ce qu'il y a des ressources aidant à créer un corpus de poésie avec XML/w, en modifiant la vue “édition” avec le fichier “txm.css” pour montrer, par exemple, les sauts de ligne (<l>) et les mots en italiques (<w rend=“italics”>) correctement? @txm_ See https://twitter.com/christof77/status/1028950454938599424