TEI公開の選択肢

TEIドキュメントを作成した後、それをどのようにWeb上で公開し、利用者に届けるかは重要な課題です。TEI/XMLはそのままではWebブラウザで読みやすく表示されないため、何らかの変換・レンダリング処理が必要になります。

筆者はこれまで、さまざまな公開方式を試してきました。本章では、それらの経験に基づいて、TEIドキュメントの公開方法を実践的に解説します。

方式特徴適したケース
TEI Publisherフル機能の公開プラットフォーム大規模プロジェクト
CETEIceanクライアントサイドJS、軽量小規模プロジェクト、静的サイト
XSLT → 静的HTML事前変換、サーバ不要シンプルな公開
DTS APIプログラマティックなアクセスデータ提供、研究基盤
PDF/ePub変換オフライン閲覧印刷物・電子書籍

TEI Publisher

概要

TEI Publisher(https://teipublisher.com/ )は、TEIドキュメントをWeb上で公開するための最も包括的なプラットフォームです。eXist-db(XMLネイティブデータベース)上で動作し、TEI Processing Model(TEI PM)を活用した宣言的なレンダリング定義が最大の特徴です。

筆者はDocker版のTEI Publisherを使用するで、Dockerを使ったTEI Publisherのセットアップ方法を紹介しています。

# Dockerでの起動
docker run -p 8080:8080 existdb/teipublisher:latest

TEI PublisherのODD設定

TEI Publisherの表示をカスタマイズするには、ODDファイル内のProcessing Modelを編集します。筆者はTEI PublisherのODDの設定例①で、具体的なODD設定例を紹介しています。

<elementSpec ident="persName" mode="change">
  <model behaviour="alternate">
    <param name="default" value="."/>
    <param name="alternate" value="@ref"/>
    <outputRendition>
      color: #0066cc;
      text-decoration: underline;
    </outputRendition>
  </model>
</elementSpec>

また、TEI Processing Modelで実現する宣言的なマルチフォーマット変換では、Processing Modelの詳細な仕組みとマルチフォーマット変換の実現方法を解説しています。

TEI Publisher Demo Collection

筆者はTEI Publisher: TEI Publisher Demo Collectionの可視化例①で、TEI Publisherのデモコレクションに含まれるさまざまな可視化例を紹介しています。TEI Publisherでどのような表現が可能かを把握するための参考になります。

CETEIceanによるWeb公開

CETEIceanを使えば、サーバサイドの環境構築なしにTEIドキュメントをWeb公開できます。GitHub Pagesでの公開が特に手軽です。

筆者はCETEIceanを使った公開について複数の記事を書いています。

CETEIceanはTEI要素を tei- プレフィックス付きのHTML Custom Elementsに変換するため、CSSで直接スタイリングできます。

tei-persname { color: #0066cc; border-bottom: 1px solid #0066cc; }
tei-placename { color: #339933; border-bottom: 1px dotted #339933; }
tei-teiheader { display: none; }

XSLTによる変換と公開

XSLTを使ってTEIドキュメントを事前に静的HTMLに変換し、Web公開する方式も広く使われています。

筆者はVSCodeとXSLTを用いたTEI/XMLのリアルタイムプレビューで、VSCodeでXSLT変換結果をリアルタイムに確認する方法を紹介しています。また、Node.js で XSLT を実行するサンプルリポジトリを作成しました。では、Node.jsでXSLTを実行する方法を紹介しています。

XSLTを使ってIIIFとTEIの対照表示を実現するでは、XSLT変換の応用例として、IIIFとTEIの対照表示の実現方法を解説しています。

DTS(Distributed Text Services)によるAPI提供

DTS(https://distributed-text-services.github.io/specifications/ )は、テキストコレクションへのAPIアクセスを標準化する仕様です。TEIコレクションの公開において、機械可読なアクセスを提供する手段として重要です。

筆者はDTSについて多くの記事を執筆しています。

DTS APIの構築

DTS関連技術

APIデプロイ

PDF/ePub変換

TEIドキュメントをPDFやePubに変換して配布する方法も重要です。

PDF変換

筆者は以下の記事でPDF変換の方法を紹介しています。

ePub変換

Word/DOCX変換

GitHubでの公開

TEI/XMLファイルをGitHubリポジトリで公開することは、データの共有と再利用性を高める上で有効です。筆者はTEI/XMLファイルをGitHubで公開する手順書で、GitHubでのTEI/XML公開手順を詳しく解説しています。

MediaWikiでの公開

筆者はMediaWikiのTEI拡張を試す(結果:うまくいきませんでした。)で、MediaWikiのTEI拡張による公開も試みています。結果的にうまくいかなかった報告ですが、さまざまな公開方式を検討する際の参考になります。

まとめ

本章では、TEIドキュメントのWeb公開について、TEI Publisher、CETEIcean、XSLT静的変換、DTS API、PDF/ePub変換という主要な方式を紹介しました。

筆者の経験から言えば、小規模なプロジェクトではCETEIceanとGitHub Pagesの組み合わせが手軽で効果的です。大規模なコレクションや高度な検索機能が必要な場合はTEI Publisherが適しています。API提供が目的であればDTSの採用を検討するとよいでしょう。PDF変換は、印刷物としての配布や学術論文への引用に有用です。

いずれの方式を選んでも、明確なライセンス表示、永続的なURL設計、適切なメタデータの提供を心がけましょう。

次章では、筆者の関連記事をトピック別に整理したリソース集を提供します。

関連記事