TEIの概要
TEI(Text Encoding Initiative)は、人文学のテキスト資料を構造的にエンコーディングするための国際標準ガイドラインです。1987年の発足以来、30年以上にわたって発展を続け、現在では世界中のデジタルヒューマニティーズ(DH)プロジェクトで広く採用されています。
TEIが提供するのは、テキストの構造や意味を記述するためのXMLベースのマークアップ言語(タグセット)と、その使い方を定めたガイドラインです。散文、韻文、戯曲、書簡、辞書、碑文、写本記述など、あらゆるジャンルのテキストに対応できる包括的な語彙を備えています。
TEIの根底にある考え方は、テキストの「見た目」ではなく「構造」と「意味」を記述するということです。たとえば、「この部分は太字にする」という見た目の指定ではなく、「この部分は人名である」「この部分は引用である」という意味的な情報を付与します。見た目のレンダリングは別のプロセス(XSLTやCSS)で行います。この分離により、同じTEIデータからHTML、PDF、ePub、データベースなど、多様な出力形式を生成することが可能になります。
筆者はこれまで、TEI/XMLの基本的な作成方法から公開・活用まで幅広い記事を執筆してきました。TEIの全体像をアーカイブの観点からまとめた記事として、(機械翻訳)The TEI Archiveも参考になります。
TEIの歴史
創設期(1987年〜1994年)
TEIは1987年にアメリカのバスキング・リッジで開催されたワークショップを起点として始まりました。ACH(Association for Computers and the Humanities)、ACL(Association for Computational Linguistics)、ALLC(Association for Literary and Linguistic Computing)の3つの学術団体が共同で、人文学テキストのデジタルエンコーディングのための標準的なガイドラインの策定に着手しました。
当時、研究者ごとに独自のマークアップ方式が使われており、データの共有や再利用が困難でした。この問題を解決するために、共通の標準が必要とされたのです。
1990年にTEI P1(Proposal 1)が発表され、1994年にはTEI P3が公開されました。P3はSGML(Standard Generalized Markup Language)をベースとしており、人文学テキストのエンコーディングに関する包括的な枠組みを提示しました。
XML時代への移行(2000年〜2007年)
2000年代に入ると、SGMLに代わってXMLが広く普及し始めました。TEIもこの流れに対応し、2002年にTEI P4としてXMLベースのガイドラインが公開されました。SGMLからXMLへの移行により、Webブラウザやさまざまなツールとの親和性が大幅に向上しました。
2007年にはTEI P5が公開されました。P5は現行バージョンであり、完全にXMLベースの設計となっています。P5はそれ以前のバージョンとは異なり、継続的に更新される「ローリングリリース」方式を採用しています。
現在(2007年〜)
TEI P5は2007年の初版公開以降、定期的にアップデートが行われています。新しい要素や属性の追加、既存の定義の改善、ドキュメントの充実が継続的に進められています。TEIガイドラインは現在も活発にメンテナンスされており、GitHubリポジトリ上で開発が行われています。
TEIコンソーシアム
TEIコンソーシアム(TEI Consortium、TEI-C)は、TEIガイドラインの開発・維持・普及を担う国際的な非営利組織です。2000年に正式に設立されました。
組織構造
TEIコンソーシアムは以下の組織で運営されています。
- 理事会(Board of Directors): コンソーシアムの運営方針を決定する最高意思決定機関
- 技術委員会(TEI Technical Council): ガイドラインの技術的な開発と維持を担当。要素や属性の追加・変更、スキーマの管理などを行う
- SIG(Special Interest Groups): 特定のトピックに関心を持つメンバーで構成されるグループ。写本記述、音楽、東アジアテキスト、オントロジーなど多様なSIGが活動している
メンバーシップと年次カンファレンス
TEIコンソーシアムには、世界中の大学、図書館、研究所、出版社などが機関メンバーとして参加しています。個人メンバーシップも設けられており、TEIコミュニティへの参加と貢献が奨励されています。
毎年、年次会議とメンバーズミーティングが開催されており、TEIの最新の活用事例、技術的な議論、ワークショップなどが行われます。
TEIガイドラインの構造
TEIガイドライン(TEI Guidelines)は、全23章で構成されており、テキストのあらゆる側面をカバーしています。主要な章を以下に示します。
| 章番号 | タイトル | 内容 |
|---|---|---|
| 1 | The TEI Infrastructure | TEIの基盤構造、共通属性 |
| 2 | The TEI Header | TEIヘッダーの構造 |
| 3 | Elements Available in All TEI Documents | すべてのTEI文書で利用可能な要素 |
| 4 | Default Text Structure | テキストの基本構造 |
| 5 | Characters, Glyphs, and Writing Modes | 文字、グリフ、書字方向 |
| 10 | Manuscript Description | 写本記述 |
| 11 | Representation of Primary Sources | 一次資料の表現 |
| 12 | Critical Apparatus | 校異装置 |
| 13 | Names, Dates, People, Places | 固有名詞、日付、人物、場所 |
ガイドライン全文はWebで公開されており、いつでも参照可能です。
モジュールシステム
TEIガイドラインの大きな特徴の一つがモジュールシステムです。TEIの要素と属性は、機能ごとにモジュール(module)としてグループ化されています。
| モジュール名 | 内容 |
|---|---|
core | すべてのTEI文書で利用可能な基本要素 |
header | TEIヘッダー関連の要素 |
textstructure | テキストの基本構造 |
namesdates | 人名・地名・日付関連の要素 |
msdescription | 写本記述の要素 |
transcr | 転写関連の要素 |
textcrit | テキスト批評・校異装置の要素 |
figures | 図表関連の要素 |
linking | リンク・セグメンテーション関連の要素 |
gaiji | 外字・特殊文字の要素 |
プロジェクトのニーズに応じて、必要なモジュールだけを選択してカスタムスキーマを生成できます。筆者は以前、Romaを使ってプロジェクトに応じたタグを限定し、解説を作成するという記事で、Romaを使ったモジュールのカスタマイズ手順を紹介しました。また、Romaを用いてカスタマイズしたrngファイルを作成する:使用するTEIタグを限定するでも、プロジェクトに応じたタグの限定方法を解説しています。
ODD(One Document Does it all)
TEIでは**ODD(One Document Does it all)**という仕組みを使って、プロジェクト固有のカスタマイズを定義します。ODDファイルは、どのモジュール・要素・属性を使うか、どのような制約を設けるかをTEI/XML形式で記述したドキュメントです。
ODDファイルから、以下のものを自動生成できます。
- Relax NGスキーマ: XML文書の妥当性検証に使用
- W3C XMLスキーマ: 同上
- Schematronルール: より高度な制約の検証に使用
- カスタマイズドキュメント: プロジェクト固有のガイドライン文書
筆者はODDに関する多くの記事を執筆しています。TEI Processing Modelで実現する宣言的なマルチフォーマット変換では、ODDのProcessing Modelについて詳しく解説しました。また、TEI ODDによるIIIF対応ファクシミリ記述の制約設計では、IIIF対応のファクシミリ記述をODDで制約する方法を紹介しています。TEI ODDから変換可能なスキーマについて:RNG、XSD、DTDなども、ODDとスキーマの関係を理解する上で参考になります。
TEIが提供するツール「Roma」を使えば、Webインターフェースから対話的にODDファイルを作成し、スキーマを生成することが可能です。
TEIの基本構造
TEIドキュメントの最小限の構造は以下のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0">
<teiHeader>
<fileDesc>
<titleStmt>
<title>文書のタイトル</title>
</titleStmt>
<publicationStmt>
<p>出版・公開に関する情報</p>
</publicationStmt>
<sourceDesc>
<p>原資料に関する情報</p>
</sourceDesc>
</fileDesc>
</teiHeader>
<text>
<body>
<p>テキスト本体がここに入ります。</p>
</body>
</text>
</TEI>
すべてのTEIドキュメントは、ルート要素 <TEI> の中に <teiHeader>(ヘッダー)と <text>(テキスト本体)を持ちます。ヘッダーにはメタデータが、テキストにはエンコーディング対象のテキスト本体が記述されます。
筆者は、ExcelやWordファイルからTEI/XMLを作成する方法についても記事を書いています。ExcelからTEI/XMLを作成するフローの一例を作成しました。では、表形式のデータからTEI/XMLを生成する手順を、WordをTEI/XMLに変換するやWordファイルをTEI XMLに変換する方法:TEIgarage APIの活用ガイでは、既存のWord文書を出発点としたTEI化のワークフローを紹介しています。
TEIのエコシステム
TEIは単なる仕様だけでなく、その仕様を支えるソフトウェア、ツール、コミュニティから構成される豊かなエコシステムを持っています。
主要なツール
- oXygen XML Editor: TEI/XMLの編集に最も広く使われている統合開発環境(IDE)。筆者はOxygen XML Editorのイメージマップエディタの使用例などの記事で使い方を紹介しています
- LEAF Writer: Web上で動作するTEI/XMLエディタ。筆者はLEAF-Writerをローカル環境で動かすをはじめ、多数の記事でカスタマイズ方法を解説しています
- TEI Publisher: TEIドキュメントをWebで公開するためのプラットフォーム。Docker版のTEI Publisherを使用するで導入方法を紹介しています
- CETEIcean: TEI/XMLをブラウザ上で直接レンダリングするJavaScriptライブラリ。Gatsby CETEIceanを試すやCETEIceanとNuxt3を使ったサンプルリポジトリを作成しました。で活用方法を紹介しています
- Roma: ODDファイルの作成とスキーマ生成のためのWebツール
TEIと他の標準との関係
TEIはDublin Core、METS、MODS、EADなどの他のメタデータ標準と共存・連携することが可能です。また、TEIはLinked Open Data(LOD)との連携も進んでおり、TEIドキュメント内からVIAF、GeoNames、WikidataなどのLinked Dataリソースを参照することが推奨されています。筆者はcwrcのwikidata-entity-lookupを試すで、WikidataとTEIの連携について紹介しています。
さらに、DTS(Distributed Text Services)はテキストコレクションへのAPIアクセスを標準化する仕様であり、筆者はDTS(Distributed Text Services)を使ってみるやDTSとCTSの関係でDTSについて解説しています。
まとめ
本章では、TEIの概要、歴史、組織、ガイドラインの構造、そしてエコシステムの全体像を概観しました。TEIは30年以上の歴史を持つ成熟した標準であり、モジュールシステムやODDによるカスタマイズの仕組みを通じて、あらゆるテキスト資料のエンコーディングに対応できる柔軟性を備えています。
次章では、TEIの基盤となるXMLの基礎を学びます。XML文法の理解は、TEIドキュメントを正しく作成するための必須の前提知識です。
関連記事
- (機械翻訳)The TEI Archive
- TEI Processing Modelで実現する宣言的なマルチフォーマット変換
- TEI ODDによるIIIF対応ファクシミリ記述の制約設計
- TEI ODDから変換可能なスキーマについて:RNG、XSD、DTDなど
- ODD Chain チュートリアル
- ODD編集Tips:その1
- TEI ODDファイルのカスタマイゼーション:NDL古典籍OCRの事例
- Romaを使ってプロジェクトに応じたタグを限定し、解説を作成する
- Romaを用いてカスタマイズしたrngファイルを作成する:使用するTEIタグを限定する
- TEI/XMLファイルをGitHubで公開する手順書
- DTS(Distributed Text Services)を使ってみる
- DTSとCTSの関係