Comme nous l’avons indiqué, un document TEI simple rassemble les éléments suivants :
Les éléments traitant spécifiquement des Parties liminaires et des Annexes sont décrits ci-dessous dans la section 18. Les Parties liminaires et les Annexes. Dans cette section, nous discutons des éléments constituant le corps d’un texte.
Le corps d’un texte en prose peut être une simple suite de paragraphes ; ou bien, ces paragraphes peuvent être regroupés en chapitres, sections, sous-sections, etc. Chaque paragraphe est balisé par la balise p. L’élément div indique un regroupement de paragraphes.
On utilise l’attribut type de l’élément div pour indiquer la dénomination usuelle de la division, ou sinon pour distinguer plusieurs divisions. Typiquement, ses valeurs sont « livre », « chapitre », « section », « partie », « poème », « chanson », etc. Dans un projet particulier, il est conseillé de définir la liste des valeurs possibles et de s’y tenir.
Un élément div peut contenir des div enchâssés, reflétant ainsi la structure traditionnelle d’un livre : il peut être décomposé hiérarchiquement en parties, chapitres, sections, etc. Les textes TEI se conforme généralement à un modèle hiérarchique simple.
On utilise l’attribut xml:id pour indiquer l’identifiant unique de la division. Ce qui est utile pour faire des références croisées ou simplement faire référence à une division donnée, via un commentaire par exemple. Voir aussi ci-dessous 8. Les références croisées et les liens Il est souvent utile d’associer l’attribut xml:id à chaque unité structurelle importante du texte, et d’établir ses valeurs de manière systématique. Par exemple en ajoutant un numéro de section à un code court pour faire référence au titre de l’œuvre. C’est aussi particulièrement utile si la ressource a vocation à être disponible sur le web : les autres applications web pourront facilement pointer directement les parties du texte.
On utilise l’attribut n pour attribuer (de manière additionnelle ou de manière alternative) un nom mnémotechnique ou un nombre à une division, ou bien à n’importe quel autre élément.
On utilise l’attribut xml:lang pour spécifier la langue d’une division. Les langues sont identifiées par un code défini au niveau international. Voir ci-dessous.
On utilise l’attribut rend pour spécifier l’apparence d’une division, ou de n’importe quel autre élément. Voir ci-dessous. Tout comme avec l’attribut type, il est souvent utile de prédéfinir les valeurs possibles de cet attribut. La TEI Lite ne contraint pas l’expression des valeurs de rend.
Ces 4 attributs xml:id, n, xml:lang et rend sont si largement utilisés qu’ils s’appliquent à n’importe quel élément du schéma TEI : ce sont des attributs globaux. D’autres attributs globaux définis dans la TEI Lite sont discutés dans la section 8.3. Les types spéciaux de liens.
La valeur de chaque attribut
xml:id doit être unique dans un même document. Une manière simple de s’en assurer est de vérifier qu’elle reflète la structure hiérarchique du document. Par exemple, prenons le roman
Les Misérables de Victor Hugo, qui est divisé en cinq tomes, dont chacun contient plusieurs ‘livres’, chaque livre comprenant des chapitres. L’attribut
xml:id pourrait avoir la structure suivante :
<div xml:id="LM01" n="I" type="tome">
<div xml:id="LM0101" n="1" type="livre">
<div xml:id="LM010101" n="I.1"
type="chapitre">
</div>
<div xml:id="LM010102" n="I.2"
type="chapitre">
</div>
</div>
<div xml:id="LM0102" n="Ii" type="livre">
<div xml:id="LM010201" n="II.1"
type="chapitre">
</div>
<div xml:id="LM010202" n="II.2"
type="chapitre">
</div>
</div>
</div>
Un système de numérotation différent peut être utilisé pour les attributs
xml:id et
n, ce qui est souvent utile lorsqu’un schéma de référence ne concorde pas avec la structure de l’œuvre. Par exemple, prenons un roman en plusieurs tomes, chaque tome comprend des chapitres numérotés en fonction de l’ensemble des tomes (et non à l’intérieur de chaque tome). On pourrait utiliser le schéma suivant :
<body>
<div xml:id="TS01" n="I" type="livre">
<div xml:id="TS011" n="1" type="chapitre">
</div>
<div xml:id="TS012" n="2" type="chapitre">
</div>
</div>
<div xml:id="TS02" n="II" type="livre">
<div xml:id="TS021" n="3" type="chapitre">
</div>
<div xml:id="TS022" n="4" type="chapitre">
</div>
</div>
</body>
Ici, l’œuvre comprend toujours deux volumes, chaque volume contenant deux chapitres. Les chapitres ont été numérotés de 1 à 4, mais les valeurs de xml:id, qui ont été spécifiées, permettent en outre de les considérer comme s’ils avaient été numérotés 1.1, 1.2, 2.1, 2.2.
Comme dans l’exemple de Brontë ci-dessus, les paragraphes formant une division textuelle sont balisés avec p. Les textes poétiques ou le théâtre demandent d’autres balises, pour représenter par exemple les vers, les strophes dans le premier cas, le discours des individus et les indications scéniques dans le second.
- l (vers) contient un seul vers, éventuellement incomplet.
- lg (groupe de vers) contient un groupe de vers fonctionnant comme une unité formelle, par exemple une strophe, un refrain, un paragraphe en vers, etc.
- sp (langue orale) monologue dans un texte écrit pour la scène ou un passage présenté sous cette forme dans un texte en prose ou en vers.
- speaker forme particulière de titre ou de marque qui donne le nom d'un ou de plusieurs locuteurs dans un texte ou dans un fragment de texte écrit pour le théâtre.
- stage (indication scénique) contient tout type d'indication scénique à l'intérieur d'un texte ou fragment de texte écrit pour le théâtre.
Par exemple, voici un poème de Baudelaire où les vers et les strophes ont été balisés :
<text>
<body>
<lg type="quatrain">
<l>Les amoureux fervents et les savants austères</l>
<l>Aiment également, dans leur mûre saison,</l>
<l>Les chats puissants et doux, orgueil de la maison,</l>
<l>Qui comme eux sont frileux et comme eux sédentaires.</l>
</lg>
<lg type="quatrain">
<l>Amis de la science et de la volupté</l>
<l>Ils cherchent le silence et l'horreur des ténèbres ;</l>
<l>L'Erèbe les eût pris pour ses coursiers funèbres,</l>
<l>S'ils pouvaient au servage incliner leur fierté.</l>
</lg>
<lg type="tercet">
<l>Ils prennent en songeant les nobles attitudes</l>
<l>Des grands sphinx allongés au fond des solitudes,</l>
<l>Qui semblent s'endormir dans un rêve sans fin ;</l>
</lg>
<lg type="tercet">
<l>Leurs reins féconds sont pleins d'étincelles magiques,</l>
<l>Et des parcelles d'or, ainsi qu'un sable fin,</l>
<l>Etoilent vaguement leurs prunelles mystiques.</l>
</lg>
</body>
</text>
Notons que l’élément l indique la ligne du vers et non la ligne typographique. La disposition en lignes des premiers vers, ci-dessus, n’a pas été explicitement encodée, et risque donc d'être perdue. On peut utiliser l’élément lb, décrit dans la section 5. Les numéros de pages et les numéros de ligne, si l’on souhaite aussi marquer le début d’une ligne typographique.
Voici la fin d’une pièce de théâtre de Samuel Beckett, dans laquelle les répliques et les indications scéniques sont encodées :
<sp>
<speaker>Vladimir</speaker>
<p>Relève ton pantalon.</p>
</sp>
<sp>
<speaker>Estragon</speaker>
<p>Que j'enlève mon pantalon ?</p>
</sp>
<sp>
<speaker>Vladimir</speaker>
<p>
<emph>RE</emph>lève ton pantalon.</p>
</sp>
<sp>
<speaker>Vladimir</speaker>
<p> C'est vrai. </p>
<stage>Il relève son pantalon. Silence.</stage>
</sp>
<sp>
<speaker>Vladimir</speaker>
<p>Alors, on y va ?</p>
</sp>
<sp>
<speaker>Estragon</speaker>
<p>Allons-y.</p>
</sp>
<stage>Ils ne bougent pas.</stage>
Notons que l’élément
stage (‘indication scénique’) peut apparaître ou bien dans la réplique ou bien entre deux répliques. L’élément
sp (
speech ou énoncé) contient, après l’élément optionnel
speaker, qui indique qui parle, ou bien des paragraphes (si la réplique est en prose) ou bien des vers ou des strophes (comme dans l’exemple suivant). Dans ce cas, il est assez courant de trouver des vers coupés. La façon la plus simple d’encoder ceci est d’utiliser l’attribut
part pour indiquer qu’une ligne (ou un ensemble de lignes) est incomplète de point de vue métrique comme par exemple dans ce passage de Molière :
<sp>
<speaker>Alceste.</speaker>
<l>Non : j' ai résolu de n' en pas faire un pas.</l>
<l part="I">J' ai tort, ou j' ai raison.</l>
</sp>
<sp>
<speaker>Philinte.</speaker>
<l part="F">Ne vous y fiez pas.</l>
</sp>
<sp>
<speaker>Alceste.</speaker>
<l part="I">Je ne remuerai point.</l>
</sp>
<sp>
<speaker>Philinte.</speaker>
<l part="F">Votre partie est forte,</l>
<l part="I">et peut, par sa cabale, entraîner...</l>
</sp>
<sp>
<speaker>Alceste.</speaker>
<l part="F">Il n' importe.</l>
</sp>
<sp>
<speaker>Philinte.</speaker>
<l part="I">Vous vous tromperez.</l>
</sp>
<sp>
<speaker>Alceste.</speaker>
<l part="F">Soit. J' en veux voir le succès.</l>
</sp>
Le même mécanisme peut être appliqué à des strophes qui sont divisées entre deux locuteurs, par exemple
3 :
<div>
<sp>
<speaker>PREMIERE VOIX</speaker>
<lg type="stanza" part="I">
<l>« Mais qu’est-ce qui fait filer ce bateau</l>
<l>Sans vague, sans un souffle d’air ? »</l>
</lg>
</sp>
<sp>
<speaker>SECONDE VOIX</speaker>
<lg part="F">
<l>« L’air se fend devant lui à son approche,</l>
<l>Et puis se referme derrière.</l>
</lg>
</sp>
</div>
On peut également utiliser l’élément
sp pour le dialogue en prose, comme s’il s’agissait de théâtre. Voir l’exemple
4 ci-dessous, qui fait usage de l’attribut
who. Cet attribut porte un code permettant d’identifier le locuteur dans le dialogue.
<p> Peu à peu les voix du salon
s’affaiblirent ; la comtesse resta seule avec une de ses amies, mademoiselle Fanny
B***. Toutes deux se trouvèrent bientôt dans la chambre et devant mes yeux.</p>
<sp who="#FAN">
<speaker>FANNY.</speaker>
<p>Quel fâcheux contretemps ! La pluie tombe à torrents, et pas une voiture
!</p>
</sp>
<sp who="#GAM">
<speaker>GAMIANI.</speaker>
<p>Je suis désolée comme vous ; par malencontre, ma voiture est chez le
sellier.</p>
</sp>
<sp who="#FAN">
<speaker>FANNY.</speaker>
<p>Ma mère sera inquiète.</p>
</sp>
<sp who="#GAM">
<speaker>GAMIANI.</speaker>
<p>Soyez sans crainte, ma chère Fanny, votre mère est prévenue ; elle sait que vous
passez la nuit chez moi. Je vous donne l’hospitalité.</p>
</sp>
Dans ce cas, les valeurs de l'attribut
who (#GAM par exemple) pointent sur une liste des personnages du roman, chacun ayant un identifiant unique correspondant:
<list>
<head>Caractères du roman</head>
<item xml:id="FAN">
<name>Fanny</name> B. : jeune victime fictive </item>
<item xml:id="GAM">La comtesse <name>Gamiani</name> : héroine du roman, prétendument
une représentation de l'écrivain Amantine Dudevant ("George Sand")</item>
</list>