Diple, modular methodology and tools for heterogeneous TEI corpora
Digital humanities, TEI, Relax NG, XSL, PHP, CeCILL-C (LGPL)
- Documentation
- Forge (SourceSup)
- Sources,
svn checkout https://subversion.cru.fr/diple/trunk
- Mailing list: diple-dev@cru.fr
What is Diple?
Diple is a collection of modular tools, and a methodology, for the publication of XML corpora, which allows a streamlined editorial workflow for each new project.
The logo combines a kleene star (*) and a “diple” (>), a sign from the classical editorial tradition.
Examples
- Les édits de pacification
- Le Sanctoral du lectionnaire de l'office dominicain (1254-1256)
- Du Cange, Glossarium mediæ et infimæ latinitatis
- LMPG, Léxico de magia y religión en los papiros mágicos griegos
Workflow: Publishing XML-TEI Corpora
- We developed a shared TEI schema for all ENC publications (
diple/schema/
). - An XSL engine (
diple/transform/
) handles all corpora conforming to this shared schema. - An editor can focus on a new project's specificities: the corpus' XML file, and short corpus-specific RNG and XSL files (
corpus/
). - Diple's PHP and JS libraries (
diple/php/
anddiple/js/
) generate the final site. - Diple's XREM module (
diple/xrem/
) generates schema documentation.

Module XREM: Documenting XML Files (Relax-NG, XSL, XML samples)
diple/xrem/
- A precise schema requires the scientific editor to document and make explicit editorial choices...
- ... and requires encoders to conform strictly to the edition's rules (a real use of XML-Validation).
- XREM takes the schema documentation (a set of Relax-NG files) and produces an HTML documentation cross-referenced with the TEI docs.
- XREM can also document XSL stylesheets.
- XREM is a set of XSL and Javascript files that can be run on a personal workstation.
- By releasing the docs and XML files for an electronic edition, a publisher goes a step further in diffusing important scientific information.
Selected Features
- Reader-friendly presentation for editors (and not only programmers).
- For Relax-NG : distinguishes elements by their attribute values (
<div type="tradition">
,<div type="transcription">
). - for XSL : indexes input and output elements to quickly find a template.
- Documents any XML using XML comments
<!-- -->
(no need for a proprietary namespace). - XSLT 1, permits transformations in web browser.
Diple XSL-Engine
diple/transform/
- XSL-Engine based on our schemas supports those TEI elements specific to critical editions.
- Generates the visual features of a critical edition: multiple levels of footnotes (historical and philological), critical apparatus (presentation of variants linked to the manuscript tradition/witness list), index, table of contents ...
- Shared schemas and transformations allow the editor to concentrate on corpus-specific elements.
- XSLT 1, permits transformations in web browser.
Diple PHP Objects Library
diple/php/
- Library of PHP objects that produce the front-end web site.
- No dependencies between objects – this is not a framework.
- Many objects are useful in other contexts (outside Diple).
- Selected objects:
HtmlInc
(extraction of metadata and body...),Hilite
(highlight regex passed as an argument),Web
(manipulation of http headers...).
Integrating external research tools
- Diple divides publication and search.
- Each corpus has its own logic and needs its own search engine and external research tools.
- Search results included inline in the electronic edition.
- Relational databases (MySQL, SQLite), fulltext indexer (Solr/lucene), or concordancers (PhiloLogic) have already been plugged in.
What is a diple ?
A marginal mark of this form >, used by the ancient grammarians to indicate various readings, rejected verses, beginning of a new paragraph, etc. (Oxford English Dictionary, « diple »)
In paleography, a critical mark like a Υ or Λ laid on its side , used as a mark of a paragraph, the change from one speaker to another in a drama, different readings, rejection of a reading, etc. (Century Dictionary, « diple »)
διπλῆ, (διπλοῦς) a marg. mark used by Gramm. (<*>), to indicate vv. Il., rejected verses, etc., and, in dramatic poetry, a new speaker (Liddell Scott, « διπλῆ »)
Signum in libris præsertim Ecclesiasticis ad distinctionem appositum. Vide Isidorum Orig. lib. 1. cap. 20. (Du cange, « DIPLE »)
Gr. διπλῆ (diplè) « ligne double, à deux branches ». Signe formé de deux lignes obliques formant un angle aigu dont la pointe est le plus souvent dirigée horizontalement (IRHT, Ædilis, Lexicon, « diplè »)
Signe (<,>) servant aux critiques grecs à indiquer des variantes dans les vers d'Homère ou à noter des vers suspects, et servant aussi à indiquer les citations des saintes Écritures. (Littré, « diple »).
Credits
- Authors: F. Glorieux et V. Jolivet, with contributions by G. Bardet, C. Desenclos and C. Hurel
- Funding: École nationale des chartes, TGE Adonis (for odt>tei module)
- Acknowledgement: Comité Réseau des Universités for providing SourceSup forge
- Diple is available as open-source (CeCCIL-C / LGPL).