OHCO et les technologies XML
- DeRose et al. (1990)
Qu’est-ce que le texte?
C’est une question ambitieuse celle que se posent DeRose et al. (1990). Leur approche et leur solution sont à la base de la représentation du texte proposée par les technologies XML – ou semblables, car HTML, par exemple, fonctionne sur le même principe.
L’idée est celle de la Ordered Hierarchy of Content Objects.
La critique d’autres approches au texte est très intéressante:
- texte comme image
- texte comme série de caractères
- texte comme organisation d’une page
- texte comme série de styles non ordonnés (word processors)
La proposition est d’utiliser SGML pour implémenter le modèle OHCO.
Histoire
SGML, HTML, XML what’s de difference?
Crédits : Computerphile
Proposé par auteur le 2016
En 1969, IBM développe GML: Generalized Markup Language. Le nom GML est aussi l’acronyme de ses trois créateurs: Charles Goldfarb, Edward Mosher et Raymond Lorie
En 1986 SGML est créé comme standard ISO. SGML est la base de plusieurs standards, dont HTML et XML.
“EXTRA BITS: SGML HTML XML”
Crédits : Computerphile
Proposé par auteur le 2016
HTML
1989: Tim Berners-Lee imagine le web: HTML, HTTP.
HTML utilise la syntaxe SGML.
Origins of the web
Crédits : Computerphile
Proposé par auteur le 2016
XML
Né en 1998: groupe de travail. L’histoire des décisions est racontée par Sperberg-McQueen, C. M., ed. (4 December 1997). “Reports From the W3C SGML ERB to the SGML WG And from the W3C XML ERB to the XML SIG”.i
eXtensible Markup Language: ce n’est pas un vrai format, mais un métaformat. XML établit une syntaxe qui peut ensuite être utilisée pour inventer des balises et des “schéma”. Un schéma est un ensemble de balises avec des règles pour les utiliser.
Un exemple très minimaliste:
<mondocument>
<titre>Un exemple d'XML</titre>
<texte>
<paragraphe>
Ce texte est un exemple d'XML.
</paragraphe>
</texte>
</mondocument>XML transforme le texte en une base de données qui ensuite peut être utilisée avec plusieurs technologies. On peut donner un ou plusieurs fichiers XML à un moteur de XML (comme par exemple baseX) et ensuite manipuler le texte en utilisant des langages comme XSLT ou Xquery.
La validation
DTD
XHTML vs HTML5
Problèmes d’essentialisme?
Quand on se demande “What’s text really?”, n’est-on pas en train d’essentialiser un peu le “texte”. Une seule vision possible du texte? L’essence du texte? Ce que le texte est “réellement”?
Limitations de XML
- balises croisées
- division forme contenu?
- validation et complexité
- multiplication des schémas
Dans un cas comme:
Je te rends pure à ta place première :
Regarde-toi !… Mais rendre la lumière
Suppose d’ombre une morne moitié.
Admettons de vouloir baliser les vers, nous aurons:
<vers>Je te rends pure à ta place première :</vers>
<vers>Regarde-toi !… Mais rendre la lumière</vers>
<vers>Suppose d’ombre une morne moitié.</vers> Et si on voulait baliser les phrases?
<vers><phrase>Je te rends pure à ta place première :</vers>
<vers>Regarde-toi !…</phrase><phrase>Mais rendre la lumière </vers>
<vers>Suppose d’ombre une morne moitié.</phrase></vers> Mais la syntaxe suivante n’est pas possible:
<vers><phrase>Je te rends pure à ta place première :</vers>
<vers>Regarde-toi !…</phrase><phrase>Mais rendre la lumière</vers>
<vers>Suppose d’ombre une morne moitié.</phrase></vers> TEI: Text Encoding Initiative
C’est un groupe actif depuis les années 1980, utilisant d’abord SGML et ensuite XML.
L’objectif est de fournir des guides pour structurer des données textuelles. TEI n’est pas un format, mais une série de recommandations pour encoder les textes.
Un exemple: une lettre de Juliette Drouet:
<teiCorpus xml:id="jd.entry.7912">
<TEI xml:id="jd.entry.7912.01">
<teiHeader>
<fileDesc>
<titleStmt>
<title>Title</title>
<respStmt>
<resp>Rétroconversion Spip vers XML-TEI</resp>
<persName>Josselin Morvan</persName>
</respStmt>
<respStmt>
<resp>Validation des fichiers XML-TEI</resp>
<persName>Élisa Barthélemy</persName>
<persName>Hélène Hôte</persName>
</respStmt>
<respStmt>
<resp>Transcription</resp>
<persName>Apolline Ponthieux</persName>
</respStmt>
<respStmt>
<resp>Contrôle</resp>
<persName>Florence Naugrette</persName>
</respStmt>
</titleStmt>
<publicationStmt>
<p/>
</publicationStmt>
<sourceDesc>
<msDesc>
<msIdentifier>
<repository>BnF, Mss, NAF 16400, f. 246</repository>
</msIdentifier>
</msDesc>
</sourceDesc>
</fileDesc>
<profileDesc>
<correspDesc>
<correspAction type="written">
<persName>Juliette Drouet</persName>
<date when="1879-10-14">14 octobre 1879</date>
<placeName>Paris</placeName>
</correspAction>
<correspAction type="received">
<persName>Victor Hugo</persName>
</correspAction>
</correspDesc>
</profileDesc>
</teiHeader>
<text>
<body>
<div type="letter">
<opener>
<dateline rend="right">
Paris, 14 octobre
<supplied>18</supplied>
79, 1 h. du matin
</dateline>
</opener>
<p>
Cher bien-aimé, je te porte le premier toast avant tous ceux qu’on te portera ce soir
<note type="footnote">
Victor Hugo se trouve au Grand-Hôtel, pour le banquet qu’il a organisé à l’occasion de la centième représentation de l’adaptation de
<emph>Notre-Dame de Paris</emph>
par Paul Meurice, au Théâtre des Nations. Cet événement rassemble des personnalités éminentes des milieux littéraire, artistique et journalistique.
</note>
qui ne seront d’ailleurs, quelque
<note type="manuscriptologique">« quelques ».</note>
nombreux et quelque
<note type="manuscriptologique">« quelques ».</note>
enthousiastes qu’ils soient, que l’écho affaibli du mien. Pense à moi qui te souris et qui te bénis et aime-moi, moi, qui t’adore.
<lb/>
Je ne sais pas si je me coucherai avant ton retour car il me semble que mon cœur te garde mieux les yeux ouverts. Je crains pour toi les excitations inévitables de la gloire versée à plein bord par tous ceux qui sont là au risque de te donner trop d’émotion à la fois. Cher adoré, tu ne sais pas combien je t’aime ! Tu ne le sauras que lorsque tu verras mon âme tout entière, alors tu comprendras tout ce que ma sollicitude pour toi a de vénérable et de sublime devant Dieu.
<lb/>
Je baise ton divin front.
</p>
<div type="address">
<p>
<supplied>Adresse</supplied>
<lb/>
Monsieur Victor Hugo
</p>
</div>
<!--
BnF, Mss, NAF 16400, f. 246
Transcription d’Apolline Ponthieux assistée de Florence Naugrette
-->
<!--a) « quelques ».-->
</div>
</body>
</text>
</TEI>La validation avec ODD…
XSLT
Que peut-on faire avec un texte encodé en XML?
Essayons de faire quelque chose avec la lettre précédente en utilisant XSLT (Extensible Stylesheet Language Transformations)
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates/>
<h2>Notes</h2>
<xsl:apply-templates select="//note" mode="endnotes"/>
</body>
</html>
</xsl:template>
<xsl:template match="teiCorpus/TEI/teiHeader">
<h1><xsl:value-of select="//date"/></h1>
</xsl:template>
<xsl:template match="teiCorpus/TEI/text/body/div/opener">
<div style="text-align:right;">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="//p">
<p>
<xsl:apply-templates/>
</p>
</xsl:template>
<xsl:template match="//note">
<sup class="appel">
<a id="note" href="#notes"><xsl:number level="any" count="note" format="1"/></a>
</sup>
</xsl:template>
<xsl:template match="//note" mode="endnotes">
<div class="note" id="notes">
<xsl:number level="any" count="note" format="1"/>.
<xsl:apply-templates/>
</div>
</xsl:template>
</xsl:stylesheet> Il y a plusieurs autres technologies: notamment Xquery.
Références
Accéder à cette bibliographie sur Zotero