Balisage général du texte

  • [FG] Frédéric Glorieux (École nationale des chartes) conception et maintenance
  • [VJ] Vincent Jolivet (École nationale des chartes) conception et maintenance
  • [CD] Camille Desenclos (École nationale des chartes) notes d'apparat critique, indexation des entités nommées
  • [CH] Clément Hurel (École nationale des chartes) contributions

Ce schéma comporte des éléments génériques pour écrire du texte. On y trouvera au moins le nécessaire pour générer un HTML acceptable pour l'écran. Sont aussi définies des structures spécifiques à l'édition critique, avec leurs règles d'utilisation dans le contexte de ce site. Il est conventionnel de diviser un schéma rédactionnel en trois niveaux : texte (balises en cours de ligne), blocs (boîtes de texte), sections (conteneur de blocs). L'exposition des éléments cherchera globalement à suivre cet ordre, sans cependant en adopter les divisions, qui seraient très déséquilibrées. Ce document veille aussi à détailler les pratiques d'édition électronique pour ce site.

  • Balises vides : texte simple avec bornes pouvant se trouver à tout endroit, comme les sauts, ou les notes.
  • Appareillage critique : le balisage dédié aux corrections, ajouts, attributions... avec prise en charge spéciale (ex : génération de notes).
  • Indexation : valeurs susceptibles d'être rassemblées dans un index aidant la navigation (auteurs, personnes, lieux...).
  • Fonctions : fonction sémantique (susceptible de présentation typographique adaptées).
  • Typographie : typographie simple, sans fonction assumée, rendues sans interprétation (HTML).
p.content
Macro décrivant le contenu de type paragraphe (tous les éléments de niveau ligne).
Contenu( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | indexation  ( persName | placeName | rs | term | name ) | biblio  ( title | bibl | cit | q ) | typo  ( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi ) | fonctions  ( ref | num | abbr | mentioned | date | foreign | ) | quote | cit )*
Usage p.content > quote p head cell item item byline dateline opener closer <

Balises d'indexation

Cette section réunit différentes balises susceptibles d'indexation. Elles permettent d'étiqueter les noms de personnes, de lieux, ou les termes sujet... Ces balises sont particulièrement nombreuses dans les corpus de chartes, où l'on trouve en moyenne quatre à cinq noms par phrase. La juste segmentation des noms a tout d'abord un objectif linguistique, elle permet d'isoler les mots de la langue, pour par exemple mieux assurer une lemmatisation. Il s'agit ensuite d'avancer vers la constitution d'index automatique fiable (ce qui ne dispense pas d'un travail érudit de prosopographie, pour par exemple rassembler les différents noms d'une même personne sous une même clés). On trouvera ici des règles et des exemples mis au point sur des corpus de chartes, elles peuvent valoir pour tous textes.

Remarque, on déconseillera de baliser les saints comme des personnes lorsqu'ils apparaissent comme des fêtes repères dans le calendrier.

indexation
Les balises indexables regroupent les mots susceptibles de mériter un index.
Contenu( persName | placeName | rs | term | name )
Usage indexation > p.content > quote p head cell item item byline dateline opener closer < q foreign note item <

Noms de personnes

Les noms de personnes se présentent sous des formes très diverses: anthroponyme simple ("Gofredus"), anthroponyme complexe ("Gofredus de Sancto Martino"), titulature officielle ("Gofridus, dominus de Sancto Martino"), identification par filiation ("Gofredus, filius Petri"). Le traitement de ces noms doit s'adapter à cette mutliplicité. Le nom principal, destiné à devenir une entrée lors de la constitution automatique de l'index, doit être encodé à l'aide de <persName>. Cependant dans le cas d'expressions complexes telles les titulatures, les autres composantes du nom doivent être encodées en fonction de leur nature, par exemple: <placeName> pour les noms de domaines et l'ensemble de l'expression doit être insérée à l'intérieur d'un élément <rs>, auquel on a ajouté un attribut @type de valeur "person", afin de notifier que l'expression désigne une seule personne et non des personnes ou lieux distincts et ainsi pouvoir identifier les divers acteurs intervenant dans les actes.

<rs type="person"><persName>Symon</persName>, comes <placeName>Ebroicarum</placeName> et dominus <placeName>Montis Fortis</placeName></rs>
<rs type="person"><persName>Radulfus</persName> filius <persName>Guilleulmi</persName></rs>

Les anthroponymes complexes nécessitent une attention particulière. Pour "Gofredus de Sancto Martino', il faut se demander si "Sancto-Martino" renvoie réellement à un lieu ou s'il n'a plus qu'une valeur anthroponymique, sans rapport identifiable avec une réalité géographique. Pour l'époque moderne, il n'y a pas d'hésitations à avoir, surtout pour des expressions telles que "Mlle de Guise": "Guise" est un nom de famille et n'a plus de valeur géographique; si la personne a lien avec la ville de Guise cela sera indiqué dans sa titulature. Pour le Moyen Age, il est impossible de dire si "Gofredus de Sancto Martino" est Gofredus qui habite à Saint-Martin, Gofredus venu de Saint-Martin, seigneur de Saint-Martin, ou Gofredus appartenant à la famille du nom de Saint-Martin. Pour les XIe et XIIe, il est plus prudent d'encoder "Sancto Martino" à l'aide d'un élément <placeName>, quand bien même cela conduit à la constitution d'expressions d'encodage peu satisfaisantes.

<rs type="person">monseigneur de <placeName>Saint-Martin</placeName></rs>

Idéalement l'anthroponyme complexe, s'il fait référence à un nom de lieu devrait donc être encodé à l'aide d'un élément <placeName> au sein même de l'élément <persName>. Cependant ce traitement peut s'avérer long dans le cas de corpus. Dans ce cas, on limitera l'utilisation de <placeName> aux noms de terre.

<persName>
Est identifié comme <persName> tout anthroponyme isolé, abrévié ou non ("G.", "Gofredus") et tout anthroponyme complexe, formé d'un prénom et d'un nom ("Gofredus de Sancto Martino") et à l'intérieur duquel ne s'intercale aucun mot de langue, hormis dans le cas des surnoms qui doivent être insérés dans le même élément <persName> ("Robertus dictus Legrand"). Nom de personne
Attributs@xml:id? @ref? @key? @type? @xml:lang?
Contenu( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | surname | forename | addName | placeName | num | abbr | hi | foreign | mentioned )*
Usage indexation > p.content > quote p head cell item item byline dateline opener closer < q foreign note item < rs mentioned person
<surname>
Nom de famille, souvent en petites capitales.
Contenu( text()  | note | ref type="note" )*
Usage persName author
<addName>
Nom additionnel, par exemple surnom.
Contenu( text()  | note | ref type="note" )*
Usage persName
<forename>
Prénom.
Contenu( text()  | note | ref type="note" )*
Usage persName author
<orgName>
Nom de collectivité
Attributs@xml:id? @ref? @key? @type?
Contenu( text()  | placeName | num | abbr | hi )*
UsageÉlément inutilisé.

Noms de lieux

Tout nom de lieu clairement identifiable dans l'index doit être encodé à l'aide de l'élément <placeName. Un nom de lieu est un ensemble continu à l'intérieur duquel ne s'intercale aucun mot de langue. Dans des expressions telles que "ecclesie Beate Marie", soit lorsque le mot de langue n'apporte pas de précision supplémentaire ("ecclesie" sert uniquement à qualifier "Beate Marie"), seul "Beate Marie" doit être encodé à l'aide de l'élément <placeName>. Dans le cas de corpus de taille importante, il n'est pas recommandé d'encoder plus précisément les noms de lieux à l'aide d'un élément <rs type="place">, quand bien même "Pontisare" ne désigne pas la même chose que "pontum Pontisare". Au contraire, ce type d'encodage (à l'aide de <rs>) doit être utilisé pour les noms de rue.

<rs type="place">rue de <placeName>Malessis</placeName></rs>
<placeName>
Est identifié comme <placeName> tout nom de lieu à l'intérieur duquel ne s'insère aucun mot de langue ("jardinum", "ecclesie"...).Nom de lieu
Attributs@xml:id? @ref? @key? @xml:lang?
Contenu( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | abbr | foreign )*
Usage indexation > p.content > quote p head cell item item byline dateline opener closer < q foreign note item < persName orgName rs mentioned place docDate
<country>
Attributs@xml:id? @ref? @key?
Contenu text()
Usage orgName type="repository" location
<rs>
Référence à une entité nommée complexe, pouvant désigner une personne ou un lieu. <rs> permet de réunir des noms et des mots de la langue devant être identifiés comme une seule entité nommée et devant apparaître comme tel dans l'index. De ce fait il peut contenir plusieurs noms de lieux ou de personnes. L'unité sémantique prévaut sur l'insertion de conjonctions ("autem") ou d'expressions ("Dei gratia") qui ne doivent pas faire oublier qu'il s'agit d'une seule et même personne; ces conjonctions doivent donc être insérées, s'il est impossible de faire autrement, à l'intérieur de l'élément <rs>.
Attributs@xml:id? @ref? @key? @type
Contenu( text()  | persName | placeName | seg | pb | lb | abbr | rs | foreign | num | mentioned | hi | ( note | ref type="note" ) )*
Usage indexation > p.content > quote p head cell item item byline dateline opener closer < q foreign note item < rs mentioned
@type
Valeur
  • "person" : Personne
  • "place" : Lieu
<name>
Nom, lorsqu'il n'est pas possible de déterminer s'il s'agit d'une personne ou d'un lieu (par exemple après balisage automatique des mots en majuscule).
Attributs@type?@xml:id? @ref? @key?
Contenu( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | abbr )*
Usage indexation > p.content > quote p head cell item item byline dateline opener closer < q foreign note item <
<term>
Terme pouvant être sujet d'indexation.
Attributs@type?@xml:id? @ref? @key?
Contenu( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | abbr | hi rend="i" )*
Usage indexation > p.content > quote p head cell item item byline dateline opener closer < q foreign note item <
normid
Contenu @xml:id?, @ref?, @key?
Usage normid > persName orgName placeName country rs name term title author orgName type="repository" <
@ref
Valeur text()
Usage normid > persName orgName placeName country rs name term title author orgName type="repository" <
URI de référence pour une entité.
@key
Valeur text()
Usage normid > persName orgName placeName country rs name term title author orgName type="repository" <
Forme d'autorité du nom.

Bibliographie

TEI permet de structurer un enregistrement bibliographique

biblio
Éléments de type bibliographique pouvant être contenus dans un paragraphe.
Contenu( title | bibl | cit | q )
Usage biblio > p.content > quote p head cell item item byline dateline opener closer < note <
<bibl>
Référence bibliographique peu structurée.
Attributs@corresp? @xml:id?
Contenu( text()  | title | author | biblScope | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | num | abbr | foreign | typo  ( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi ) )*
Usage biblio > p.content > quote p head cell item item byline dateline opener closer < note < cit bloc > div prologue epilogue < listBibl
@corresp
Valeur text()
Utilisé comme clé de regroupement.
<title>
Titre d'oeuvre. Certains titres peuvent contenir un titre (droit dans l'italique).
Attributs@xml:id? @ref? @key?
Contenu( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | title | q | abbr | num | hi )*
Usage biblio > p.content > quote p head cell item item byline dateline opener closer < note < bibl title item
<author>
Auteur, généralement dans une référence bibliographique, peut servir à un index des auteurs cités.
Attributs@xml:id? @ref? @key?
Contenu( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | surname | forename | date | abbr )*
Usage bibl
<biblScope>
Pagination précisant une référence bibliographique.
Contenu( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | abbr | num | hi )*
Usage bibl
<orgName type="repository">
Dépôt d'archive ; peut contenir le pays de l'institution de conservation inscrit dans l'élément country
Attributs@type="repository"@xml:id? @ref? @key?
Contenu( text()  | country )*
UsageÉlément inutilisé.
<num type="idno">
Cote d'archive
Attributs@type="idno"
Contenu( text()  | hi rend="sc" | hi )*
UsageÉlément inutilisé.
<cit>
Citation référencée. Le texte mêlé est autorisé.
Attributs@ana? @n?
Contenu( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | quote | bibl )*
Usage p.content > quote p head cell item item byline dateline opener closer < biblio > p.content > quote p head cell item item byline dateline opener closer < note < q bloc > div prologue epilogue <
@ana
Valeur text()
Type de citation, permet par exemple de hiérarchiser des niveaux de fidélité à la référence.
@n
Valeur text()
Numérotation, peut être interprété comme une note de bas de page pour indiquer la référence.
<quote>
Citation (dans un cit) html:q
Attributs@type? @xml:lang?
Contenu( p.content  ( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | indexation  ( persName | placeName | rs | term | name ) | biblio  ( title | bibl | cit | q ) | typo  ( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi ) | fonctions  ( ref | num | abbr | mentioned | date | foreign | ) | quote | cit )* | p+ )
Usage p.content > quote p head cell item item byline dateline opener closer < cit bloc > div prologue epilogue <
<q>
Selon la documentation TEI peut entre autres signifier : soCalled, foreign, distinct, term, mentioned... htm:q. Un texte cité peut contenir une citation.
Attributs@rend? @xml:lang?
Contenu( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | q | cit | fonctions  ( ref | num | abbr | mentioned | date | foreign | ) | typo  ( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi ) | indexation  ( persName | placeName | rs | term | name ) )*
Usage biblio > p.content > quote p head cell item item byline dateline opener closer < note < title q
@rend
Valeur"i" |"sc" ]
fonctions

Balisage fonctionnel

Les balises fonctionnelles, à privilégier le plus possible relativement aux balises typographiques, mais à ne pas utiliser si le besoin est juste typographique.
Contenu( ref | num | abbr | mentioned | date | foreign | )
Usage fonctions > p.content > quote p head cell item item byline dateline opener closer < q note desc label <
<seg>
Segment arbitraire de texte, par exemple pour isoler une formule dans une entité nommée.
Attributs@type?
Contenu text()
Usage rs
<mentioned>
Mentions, apparaissant généralement en italique, parfois en petites capitales (ex : inscriptions). Sur un acte médiéval, il arrive qu'une mention moderne fasse elle-même mention d'un texte plus ancien.
<witness xml:id="smchamps_1163_A"><label>A.</label> Original existant jadis aux Archives de la paroisse Saint-Jacques-de-la-Boucherie, portant au dos <mentioned>« écrit plus récemment, mais d'un gothique ancien : <mentioned>Lettre de confirmation d'Agnès de Poissy, du don du chevet Saint-Jacques</mentioned> »</mentioned>.</witness>
Attributs@rend?
Contenu( text()  | num | abbr | persName | placeName | mentioned | rs | ref type="note" | ref )*
Usage persName rs fonctions > p.content > quote p head cell item item byline dateline opener closer < q note desc label < mentioned
<foreign>
Mot, expression, voire proposition dans une langue différente du contexte, généralement rendu en italique. Une classe CSS est inscrite dans le rendu html, afin de pouvoir ajuster le cas échéant une police de caractères (ex : grec accentué). <dfn class="foreign @xml:lang">. On évitera d'indiquer ainsi les lieux ou personnes en langue étrangère (par exemple une nom de personne en ancien français dans une charte latine), préférer un attribut de langue sur la balise du terme indexé. Toutefois, certains textes multilingues peuvent contenir des fragments contenant du texte riche.
Attributs@xml:lang?
Contenu( text()  | ( note | ref type="note" | abbr | num | indexation  ( persName | placeName | rs | term | name ) ) )*
Usage persName placeName rs bibl fonctions > p.content > quote p head cell item item byline dateline opener closer < q note desc label < item
@xml:lang
Valeur
  • "fra" : français moderne
  • "lat" : latin (notamment médiéval)
  • "fro" : ancien et moyen français - French, Old
  • "grc" : grec ancien (jusqu'à 1453)
  • "pro" : occitan - Provençal
  • "bre" : breton
  • "xxx" : langue indéterminée
Usage lang > quote q foreign p head <

Les codes de langues ont surtout un usage informatique, afin d'appliquer les meilleurs filtres de traitement. Ainsi par exemple, contrairement à la norme anglophone de la bibliothèque du congrès, aucune distinction n'est faîte entre ancien et moyen français.

<date>
Date balisée, par défaut, obliger à sa résolution selon la norme ISO. Une date peut contenir une note explicative.
Attributs (@when | (@notBefore @notAfter) | (@from @to))
Contenu( )( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | hi )*
Usage author fonctions > p.content > quote p head cell item item byline dateline opener closer < q note desc label < docDate
date.type
Contenu{string} ([0-9]{4}(-[0-9]{2}(-[0-9]{2})?)?)?
Usage date
<num>
Nombre. Le balisage des nombres est notamment utile pour les chiffres romains, afin qu'ils ne soient pas confondus avec des mots. Ils peuvent être mis en petites capitales.
Attributs@type? @n?
Contenu( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | typo  ( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi ) )*
Usage persName orgName rs bibl title biblScope fonctions > p.content > quote p head cell item item byline dateline opener closer < q note desc label < mentioned foreign item
<abbr>
Abréviations, contient les points qui ne servent pas à la ponctuation des phrases. (un frontière de phrase sera laissée à l'extérieur).Abrévation
Attributs@rend?
Contenu( text()  | hi | note | ref type="note" )*
Usage persName orgName placeName rs name term bibl title author biblScope fonctions > p.content > quote p head cell item item byline dateline opener closer < q note desc label < mentioned foreign typo.content > emph hi hi rend="i" hi rend="sc" hi rend="b" hi rend="u" hi rend="ib" < item
@rend
Valeur text()
La forme étendue de l'abréviation sera contenue dans un attribut optionnel @rend. (La proposition TEI d'un élément <expan> sera un problème pour les exploitations ultérieures car elle ajoute un noeud texte qui n'est pas dans le document encodé)
typo

Typographie de base

Mise en forme typographique de caractères, au contenu volontairement restreint pour encourager les balises fonctionnelles.
Contenu( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi )
Usage typo > p.content > quote p head cell item item byline dateline opener closer < bibl q num note label <
typo.content
Contenu d'une balise typographique
Contenu( text()  | hi | hi rend="sub" | pb | abbr | note | ref type="note" )*
Usage typo.content > emph hi hi rend="i" hi rend="sc" hi rend="b" hi rend="u" hi rend="ib" <
<emph>
Mis en valeur, em
Attributs@ana?
Contenutypo.content  ( text()  | hi | hi rend="sub" | pb | abbr | note | ref type="note" )*
Usage typo > p.content > quote p head cell item item byline dateline opener closer < bibl q num note label < item
@rend
Valeur"i" |"b" ]
Usage ref
<hi>
Mise en valeur, ornementation
Attributs@rend
Contenutypo.content  ( text()  | hi | hi rend="sub" | pb | abbr | note | ref type="note" )*
Usage typo > p.content > quote p head cell item item byline dateline opener closer < bibl q num note label <
<hi rend="i">
Italique, italic
Attributs@rend="i"
Contenutypo.content  ( text()  | hi | hi rend="sub" | pb | abbr | note | ref type="note" )*
Usage term typo > p.content > quote p head cell item item byline dateline opener closer < bibl q num note label <
<hi rend="sc">
Petites capitales. smallcaps
Attributs@rend="sc"
Contenutypo.content  ( text()  | hi | hi rend="sub" | pb | abbr | note | ref type="note" )*
Usage num type="idno" typo > p.content > quote p head cell item item byline dateline opener closer < bibl q num note label <
<hi rend="b">
Gras. bold
Attributs@rend="b"
Contenutypo.content  ( text()  | hi | hi rend="sub" | pb | abbr | note | ref type="note" )*
Usage typo > p.content > quote p head cell item item byline dateline opener closer < bibl q num note label <
<hi rend="u">
Souligné underline
Attributs@rend="u"
Contenutypo.content  ( text()  | hi | hi rend="sub" | pb | abbr | note | ref type="note" )*
Usage typo > p.content > quote p head cell item item byline dateline opener closer < bibl q num note label <
<hi rend="ib">
Gras italique (très déconseillé) italic bold
Attributs@rend="ib"
Contenutypo.content  ( text()  | hi | hi rend="sub" | pb | abbr | note | ref type="note" )*
Usage typo > p.content > quote p head cell item item byline dateline opener closer < bibl q num note label <
<hi>
Exposant. superscript
Attributs@rend
Contenu text()
Usage persName orgName rs title biblScope num type="idno" date abbr typo > p.content > quote p head cell item item byline dateline opener closer < bibl q num note label < typo.content > emph hi hi rend="i" hi rend="sc" hi rend="b" hi rend="u" hi rend="ib" <
@rend
Valeur"sup" |"sup sc" ]
<hi rend="sub">
Indice. subscript
Attributs@rend="sub"
Contenu text()
Usage typo > p.content > quote p head cell item item byline dateline opener closer < bibl q num note label < typo.content > emph hi hi rend="i" hi rend="sc" hi rend="b" hi rend="u" hi rend="ib" <
<ref>
Lien simple. <htm:a href="ref">texte</a>
Attributs@rend? @target
Contenu text()
Usage fonctions > p.content > quote p head cell item item byline dateline opener closer < q note desc label < mentioned item
bornes

Bornes

Regroupement des balises qui peuvent se retrouver dans tous les éléments textuels.
Contenu( note | ref type="note" | lb | cb | pb | figure )
Usage bornes > p.content > quote p head cell item item byline dateline opener closer < persName placeName name term bibl title author biblScope cit q date num <
<note>
Une note est généralement du texte mêlé (sans note), parfois plusieurs paragraphes.
<htm:span class="note">
Attributs@n? @type? @target? @xml:id? @resp?
Contenu( ( text()  | typo  ( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi ) | pb | lb | figure | indexation  ( persName | placeName | rs | term | name ) | biblio  ( title | bibl | cit | q ) | fonctions  ( ref | num | abbr | mentioned | date | foreign | ) | )* | ( p | table )+ )
Usage surname addName forename rs foreign abbr typo.content > emph hi hi rend="i" hi rend="sc" hi rend="b" hi rend="u" hi rend="ib" < bornes > p.content > quote p head cell item item byline dateline opener closer < persName placeName name term bibl title author biblScope cit q date num < bloc > div prologue epilogue < div type="notes"
<ref type="note">
Référence à une note.htm:span class="ref"
Attributs@type="note" @n? @target @xml:id?
Contenu
Usage surname addName forename rs mentioned foreign abbr typo.content > emph hi hi rend="i" hi rend="sc" hi rend="b" hi rend="u" hi rend="ib" < bornes > p.content > quote p head cell item item byline dateline opener closer < persName placeName name term bibl title author biblScope cit q date num <
<figure>
Marque une information graphique qui n'est pas encodée textuellement.
Attributs@corresp?
Contenuempty()
Usage bornes > p.content > quote p head cell item item byline dateline opener closer < persName placeName name term bibl title author biblScope cit q date num < note
<pb>
Pagination ou foliotation, pour édition électronique d'imprimé ou de manuscrit. Le numéro est obligatoire, sauf dans le cas de pages ou folios manquants, en ce cas une explication est nécessaire.
Attributs (@n | @ana) @ed?
Contenu( )empty()
Usage rs typo.content > emph hi hi rend="i" hi rend="sc" hi rend="b" hi rend="u" hi rend="ib" < bornes > p.content > quote p head cell item item byline dateline opener closer < persName placeName name term bibl title author biblScope cit q date num < note table list type="index" list list type="gloss" back
@n
Valeur text()
Le numéro de page est obligatoire.
@ana
Valeur text()
Commentaire explicatif s'il n'y a pas de
@ed
Valeur text()
Référence au témoin dont est issu le numéro de page ou de folio inséré dans l'attribut n.
<cb>
Conservation des sauts de colonne de l'édition imprimée, notamment pour lien à l'image de la colonne.
Attributs @n
Contenuempty(),
Usage bornes > p.content > quote p head cell item item byline dateline opener closer < persName placeName name term bibl title author biblScope cit q date num < table
@n
Valeur text()
Le numéro de colonne est obligatoire, par exemple pour la troisième colonne de la page 245 : 245c.
<lb>
Saut de ligne, ne pas en abuser, htm:br
Contenuempty()
Usage rs bornes > p.content > quote p head cell item item byline dateline opener closer < persName placeName name term bibl title author biblScope cit q date num < note

Blocs

bloc
Blocs, les boîtes qui contiennent du texte (sans les titres).
Contenu( p | listBibl | table | list | cit | quote | label | desc | list type="gloss" | bibl | note )
Usage bloc > div prologue epilogue <
<p>
Paragraphe.
Attributs@rend? @xml:id? @n? @xml:lang?
Contenup.content  ( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | indexation  ( persName | placeName | rs | term | name ) | biblio  ( title | bibl | cit | q ) | typo  ( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi ) | fonctions  ( ref | num | abbr | mentioned | date | foreign | ) | quote | cit )*
Usage quote note bloc > div prologue epilogue < event dateline argument postscript Elément racine
p.rend
Types de paragraphe
Contenu
  • "center" : Centré
  • "uppercase" : Majuscules
  • {Name}
Usage p
<desc>
Description.
Attributs@rend? @n?
Contenu( text()  | fonctions  ( ref | num | abbr | mentioned | date | foreign | ) )*
Usage bloc > div prologue epilogue <
<label>
Étiquette.
Contenu( text()  | typo  ( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi ) | fonctions  ( ref | num | abbr | mentioned | date | foreign | ) )*
Usage bloc > div prologue epilogue < list type="gloss" postscript

Autres exemples dans : mentioned.

<head>
Titre générique.
Attributs@xml:lang?
Contenup.content  ( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | indexation  ( persName | placeName | rs | term | name ) | biblio  ( title | bibl | cit | q ) | typo  ( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi ) | fonctions  ( ref | num | abbr | mentioned | date | foreign | ) | quote | cit )*
Usage table list listBibl list type="index" list type="gloss" div argument front back titlePage
<table>
Tables simples (html:table). Titre de tableau obligatoire (html:caption). Sauts de pages ou colonnes ne coupant pas les lignes.
Attributs@rend?
Contenuhead, ( row | pb | cb )+
Usage note bloc > div prologue epilogue < argument
<row>
Attributs@role? @rend?
Contenucell+
Usage table
@role
Valeur
  • "data" : (défaut) tr/html:td
  • "label" : tr/html:th
<cell>
Attributs@role? @rows? @cols?
Contenup.content  ( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | indexation  ( persName | placeName | rs | term | name ) | biblio  ( title | bibl | cit | q ) | typo  ( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi ) | fonctions  ( ref | num | abbr | mentioned | date | foreign | ) | quote | cit )*
Usage row
@role
Valeur
  • "data" : (défaut) html:td
  • "label" : html:th

Listes

<list>
Des listes simples.
Attributs@type
Contenuhead?, item+
Usage bloc > div prologue epilogue < item item
@type
Valeur
  • "" : Rien
  • "-" : Tiret
  • "1" : Décimale
  • "I" : Chiffres romains
  • "o" : Puce
  • "index" : Index avec navigation alphabétique
Type de liste, indiqué par un caractère. Le nombre de valeurs est susceptible de s'étendre. En cas d'encodage de texte existant, il peut être plus commode de reporter les numérotations difficiles à générer en attribut de l'item (@n).
<item>
Attributs@xml:id? @n?
Contenu( p.content  ( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | indexation  ( persName | placeName | rs | term | name ) | biblio  ( title | bibl | cit | q ) | typo  ( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi ) | fonctions  ( ref | num | abbr | mentioned | date | foreign | ) | quote | cit )* | list )+
Usage list
<listBibl>
Liste de références bibliographiques.
Contenuhead?, bibl+
Usage bloc > div prologue epilogue < div
<list type="index">
Liste pour encodage d'index imprimé. Le type 'index' permet de munir la liste d'une barre d'exploration alphabétique. Une liste d'identifiants prévue à l'avance permet de raffiner les comportements.
Attributs@type="index" @xml:id
Contenuhead, ( pb | item )+
Usage div
@xml:id
Valeur"listName" |"listPlace" |"listPerson" |"listTerm" |{Name}  ]
<item>
Attributs@xml:id?
Contenu( text()  | indexation  ( persName | placeName | rs | term | name ) | ref | abbr | num | emph | foreign | title | list )*
Usage list type="index" list
<list>
Contenu( pb | item )+
Usage item
<list type="gloss">
Liste pour encodage d'un glossaire. Un identifiant normalisé permet d'appuyer certaines transformations spécifiques.
Attributs@type="gloss" @xml:id="gloss"?
Contenuhead?, ( pb?, label+, item )+
Usage bloc > div prologue epilogue < div
<item>
Contenu( p.content  ( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | indexation  ( persName | placeName | rs | term | name ) | biblio  ( title | bibl | cit | q ) | typo  ( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi ) | fonctions  ( ref | num | abbr | mentioned | date | foreign | ) | quote | cit )* | list )
Usage list type="gloss"
listPerson
Index des noms de personnes permettant, en sus des liens vers les diverses occurences du texte, une description structurée de chaque personne mentionnée dans l'index (nom complet, dates et faits marquants de la biographie).
ContenulistPerson
Usage div
<listPerson>
Contenuperson+
Usage div
person
Entrée d'index (personnes). Un identifiant permet de faire référence à cette courte notice biographique à n'importe quel endroit du texte.
Contenuperson
Usage listPerson
<person>
Attributs@xml:id
ContenupersName+, ( birth | death | event )*
Usage listPerson
<event>
Contenup+
Usage person
listPlace
Index des noms de personnes permettant, en sus des liens vers les diverses occurences du texte, une description structurée de chaque lieu mentionné dans l'index (nom et localisation).
ContenulistPlace
Usage div
<listPlace>
Contenuplace+
Usage div
place
Entrée d'index (lieu). Un identifiant permet de faire référence à cette courte notice à n'importe quel endroit du texte.
Contenuplace
Usage listPlace
<place>
Attributs@xml:id
ContenuplaceName+, location*
Usage listPlace
<location>
Contenucountry*, district+
Usage place
<district>
Attributs@type
Contenu text()
Usage location
@type
Valeur"departement" |"arrondissement" |"canton" |{Name}  ]

Sections

Structuration d'un texte

split.atts
Attributs obligatoires d'un élément à “spliter” (générer un fichier HTML). Le contenu de l'attribut @xml:id d'une division sert de nom de fichier. La granularité des divisions varie selon les documents. Afin de pouvoir factoriser un code de fractionnement, les divisions seront marquées par l'attribut @subtype="item".
Contenu @subtype
Usage div
@subtype
Valeur"article" |"split" ]
Usage div
<div>
Sectionnement du texte. Le modèle propose une alternative, soit une section contient des blocs, soit une section ne contient que des sections (avec possibilité d'introduction et de conclusion). Il s'agit d'éviter le mélange entre blocs avec textes et sections, afin par exemple de faciliter le traitement des notes (affichées en bas de section).
Attributs@subtype? @xml:id? @type? @n?
Contenu( head | prologue | opener | dateline )*, bloc  ( p | listBibl | table | list | cit | quote | label | desc | list type="gloss" | bibl | note )*, div*, ( closer | epilogue | dateline )*, postscript*
Usage div front back
<byline>
Mention de d'attribution
Contenup.content  ( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | indexation  ( persName | placeName | rs | term | name ) | biblio  ( title | bibl | cit | q ) | typo  ( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi ) | fonctions  ( ref | num | abbr | mentioned | date | foreign | ) | quote | cit )*
Usage front
<dateline>
Mention de date : enregistement structurable, formule balisable, ou suite de paragraphes.
Contenu( p* | p.content  ( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | indexation  ( persName | placeName | rs | term | name ) | biblio  ( title | bibl | cit | q ) | typo  ( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi ) | fonctions  ( ref | num | abbr | mentioned | date | foreign | ) | quote | cit )* )
Usage div
<opener>
Cartouche d'entrée d'une division, par exemple pour indiquer l'auteur d'une préface, d'une introduction.
Contenup.content  ( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | indexation  ( persName | placeName | rs | term | name ) | biblio  ( title | bibl | cit | q ) | typo  ( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi ) | fonctions  ( ref | num | abbr | mentioned | date | foreign | ) | quote | cit )*
Usage div
<argument>
Résumé.
Contenuhead?, ( p | table )+
Usage front
<prologue>
Distinction venue du théâtre, pertinente pour d'autres textes.
Contenubloc  ( p | listBibl | table | list | cit | quote | label | desc | list type="gloss" | bibl | note )*
Usage div
<epilogue>
Distinction venue du théâtre, pertinente pour d'autres textes.
Contenubloc  ( p | listBibl | table | list | cit | quote | label | desc | list type="gloss" | bibl | note )*
Usage div
<closer>
Conclusion d'une section.
Contenup.content  ( text()  | bornes  ( note | ref type="note" | lb | cb | pb | figure ) | indexation  ( persName | placeName | rs | term | name ) | biblio  ( title | bibl | cit | q ) | typo  ( emph | hi rend="i" | hi rend="sc" | hi rend="b" | hi rend="ib" | hi rend="u" | hi rend="sub" | hi | hi ) | fonctions  ( ref | num | abbr | mentioned | date | foreign | ) | quote | cit )*
Usage div
<postscript>
Conclusion d'une section.
Contenulabel, p*
Usage div
<front>
Ce modèle de contenu sert d'entête de fichier (à ne pas confondre avec le teiHeader qui porte les métadonnées). Page de titre, préface, introductions, et autres paratextes d'une édition.
Contenu( titlePage |
( head, ( docAuthor | docDate )*, argument, byline? )
), div*
UsageÉlément inutilisé.
<back>
Éléments en fin de livre, comme index, sommaires, glossaires.
Contenuhead?, ( pb | div type="notes" | div | div )*
UsageÉlément inutilisé.
<div type="notes">
Attributs@type="notes"
Contenunote+
Usage back
<div>
Attributs@type="index"?
Contenu( list type="index" | listBibl | list type="gloss" | listPerson | listPlace )+
Usage back
<titlePage>
Page de titre. Ne mettre que l'essentiel des informations visible sur la couverture.
Contenu( docTitle | docAuthor | docImprint | docDate | head )+
Usage front
<docTitle>
ContenutitlePart+
Usage titlePage
<docAuthor>
Auteur d'un document.
Contenu text()
Usage front titlePage
<docDate>
Une ligne de date avec optionnellement un lieu.
Contenu( text()  | date | placeName )*
Usage front titlePage
<*>
Contenu( text()  | * )*
Usage *
Nécessaire à la validation du schéma

Inclusion de app.rng