概要
DToC: Dynamic Table of Contextsを試す機会がありましたので、備忘録です。
機械翻訳の結果は以下です。
セマンティックマークアップの威力と書籍のナビゲーション機能を融合させ、電子読書に革新をもたらします。従来の印刷書籍で長年親しまれてきた目次とキーワード索引という概観機能が、全文検索やタグベースのインデックス機能と動的に統合されることで、新たな読書体験を実現します。
最終的に、以下のような可視化を行うことができました。

対象データ
東洋文庫が所蔵するモリソンパンフレット「Marco Polo's adventures : The greatest traveller the world has seen.」をサンプルデータとして利用しました。
背景
以下のワークショップに参加し、DToCの使用方法を教えてもらいました。
以下のチュートリアルも参考になりました。
mainとなるxmlを作成する
まず、mainとなるxmlを作成します。以下のURLで確認できます。
OCR
Azure AI Document Intelligenceを用いてOCRを行いました。
校正 & タグづけ
OCR結果の校正と、人名や地名のタグ付与にあたり、「Google: Gemini 2.5 Pro」を使用しました。
このように機械的な処理のため、誤りなどが含まれている可能性が高いですが、DToCで使用するためのTEI/XMLファイルを用意することができました。
index用のxmlを作成する
以下を参考にしました。
このindex作成にも「Google: Gemini 2.5 Pro」を使用し、先に作成したmain.xmlから機械的に作成しました。結果は以下です。
JSONファイルを作成する
DToCでロードするためのJSONファイルを作成します。この部分はGUIから行うことができました。最終的な結果は以下です。
まず、以下にアクセスし、GitHubアカウントでログインします。
次に以下にアクセスします。
そして、チュートリアル資料などを参考に、必要な項目を入力します。

Documentsには、前のプロセスで作成したXMLファイルのURLを入力します。
Corpus Partsでは、XMLファイルのどの部分を使用するか、を指定します。Curpus Partではmain.xmlのdivタグを、Curpus Indexではindex.xmlのdivタグをXPathで指定しました。
Formattingについては、表示する画像をXPathでしています。main.xmlのfigureの記述例は以下です。
<div type="page" n="1">
<figure>
<graphic url="https://dtoc-demo.vercel.app/P-III-b-1189/images/P-III-b-1189_001.jpg"></graphic>
</figure>
<head><title>(1)</title></head>
<p xml:id="p_1"><persName xml:id="pers_1">Edward S. Holden</persName>, LLD. <lb /><persName xml:id="pers_2">Marco Polo</persName>'s Adventures <lb />The Greatest Traveller the World <lb />has seen <lb />The Century Magazine <lb /><date xml:id="date_1">October, 1900</date> <lb />PL-E-5:11 <lb />75</p>
</div>
最後のCurationについては、以下のGUIから設定します。次のページの画面右上の「Curate Tags」から、ハイライトしたい要素をXPathで指定します。

これらの設定により、IndexやTagsが利用可能になり、当該テキストがハイライト表示されます。

まとめ
TEI/XMLファイルの可視化を行うにあたり、強力なツールだと思いました。
一方、2025年7月16日時点において、日本語を含むTEI/XMLはうまく表示されませんでした。

この問題が解決され次第、日本語のテキストにも適用してみたいと思います。
動画版(生成AIによる自動生成): この記事の内容をずんだもん×四国めたんの掛け合いで解説しています。自動生成のため、内容に誤りがある可能性があります。正確な情報は記事本文をご参照ください。



コメント
…