TEIツールの全体像
TEIドキュメントの作成から公開までのワークフローには、さまざまなツールが関わります。本章では、筆者が実際に使用してきたTEI関連ツールを中心に紹介し、それぞれの特徴と使い方を解説します。
TEI関連ツールは大きく以下のカテゴリに分類できます。
- XMLエディタ: oXygen XML Editor、LEAF Writer、Visual Studio Code
- ブラウザ表示: CETEIcean
- 公開プラットフォーム: TEI Publisher
- スキーマ生成: Roma、TEI Garage
- 変換ツール: XSLT、TEI Garage
- テキストマークアップ: CATMA、FairCopy
- 校異ツール: Versioning Machine
oXygen XML Editor
oXygen XML Editor(https://www.oxygenxml.com/ )は、TEI/XML編集のデファクトスタンダードとも言える統合開発環境です。
主な機能
- スキーマベースの入力補完: TEIスキーマに基づく要素名・属性名の自動補完
- リアルタイム妥当性検証: XMLファイルのvalid判定
- XSLT変換の実行: エディタ内からの変換実行
- Author Mode: WYSIWYGでの編集
- イメージマップエディタ: 画像上の領域を指定して座標を取得
筆者はOxygen XML Editorのイメージマップエディタの使用例で、イメージマップエディタを使ってTEIの<zone>要素の座標を取得する方法を紹介しています。また、Oxygenの自動整形機能においてlbタグの前で改行する方法では、<lb>タグの前での改行処理に関するTIPSを紹介しました。
LEAF Writer
LEAF Writer(Linked Editing Academic Framework Writer)は、Web上で動作するオープンソースのTEI/XMLエディタです。カナダのCWRC(Canadian Writing Research Collaboratory)によって開発されました。LEAF Writerの大きな特徴は、テキスト中のエンティティ(人名・地名など)を外部のデータベース(Wikidata、VIAF、GeoNames等)から検索して、TEIの参照情報を自動的に付与できる点です。
筆者はLEAF Writerについて多くの記事を執筆しています。
セットアップと基本
- LEAF-Writerをローカル環境で動かす - ローカル環境での構築手順
- LEAF WriterをNext.jsから使用する - Next.jsアプリケーションへの組み込み
- LEAF Writer:日本語UIの追加 - 日本語インターフェースの追加方法
カスタマイズ
- LEAF WriterのEditor Toolbarをカスタマイズする - エディタツールバーのカスタマイズ
- LEAF Writer:CSSのカスタマイズ - 表示スタイルの変更
- LEAF Writer:スキーマのカスタマイズ - Romaと連携したスキーマのカスタマイズ
エンティティルックアップ
- LEAF Writer:Japan Searchに対するEntity Lookup - Japan Searchとの連携
- cwrcのwikidata-entity-lookupを試す - Wikidataとの連携
画像連携
- LEAF Writer: Image Viewerの使い方 - Image Viewer機能の使い方
- LEAF Writer: Miradorを追加する - Miradorの統合
- LEAF Writer: サンプルデータの追加方法 - サンプルデータの管理
データ管理
- LEAF WriterとGakuNin RDMを用いたTEI/XMLファイルの編集環境の試作 - GakuNin RDMとの連携
- TEI/XMLファイルをS3互換のオブジェクトストレージでホストする - S3互換ストレージでのホスティング
CETEIcean
CETEIcean(https://github.com/TEIC/CETEIcean )は、TEI/XMLをブラウザ上で直接レンダリングするJavaScriptライブラリです。TEI要素をHTML Custom Elementsとして登録し、ブラウザに直接解釈させるアプローチを取ります。
筆者はCETEIceanについて複数の記事を書いています。
- Gatsby CETEIceanを試す - GatsbyでCETEIceanを使う方法
- CETEIceanとNuxt3を使ったサンプルリポジトリを作成しました。 - Nuxt3との組み合わせ
- Next.js + CETEIcean + React TEI Routerを使ったビューア開発 - Next.jsとReactでのビューア開発
- CETEIceanとXPathを使って特定の要素にスクロールする - XPathを使った要素へのナビゲーション
- Miradorで画像を表示し、CETEIceanでテキストを表示するサンプルアプリ - Miradorとの連携
CETEIceanの利点は、サーバサイド変換が不要で、GitHub Pagesなどの静的サイトホスティングでTEIドキュメントを公開できることです。
Roma
Roma(https://roma.tei-c.org/ )は、TEIのカスタムスキーマを生成するためのWebツールです。筆者はRomaについて複数の記事を執筆しています。
- Romaを使ってプロジェクトに応じたタグを限定し、解説を作成する - 使用するタグの限定
- Romaを使ってタグの属性に使用可能な値を限定する - 属性値の制約
- Romaを使ってプロジェクトに応じたタグに使用する属性を限定する - 属性の限定
- Romaを用いてカスタマイズしたrngファイルを作成する:使用するTEIタグを限定する - rngファイルの生成
Romaを使うことで、プロジェクトに必要な要素・属性だけを含むカスタムスキーマを生成し、oXygen XML EditorやLEAF Writerでの入力補完を最適化できます。
TEI Garage
TEI Garage(https://teigarage.tei-c.org/ )は、TEIドキュメントの形式変換をWeb上で行えるオンラインサービスです。TEIからDOCX、ODT、ePub、LaTeX等への変換や、DOCXからTEIへの変換が可能です。
筆者は以下の記事でTEI Garageの活用方法を紹介しています。
- TEIGarageを試す - TEI Garageの基本的な使い方
- WordファイルをTEI XMLに変換する方法:TEIgarage APIの活用ガイ - TEI Garage APIを使ったWord→TEI変換
- TEI GarageのAPIを使用したODDからRNG/HTMLへの変換 - APIを使ったODDからの変換
- TEI Garage APIを使って、DOCX → TEI/XML 変換ツールをブラウザだけで作った - ブラウザベースの変換ツール
CATMA
CATMA(Computer Assisted Text Markup and Analysis)は、テキストのアノテーションと分析を行うためのWebツールです。TEI/XML形式でのエクスポートに対応しています。
筆者はテキストマークアップツール「CATMA」の使い方で、CATMAの基本的な使い方を紹介しています。CATMAはプログラミングの知識がなくてもテキストにタグを付与できるツールであり、TEIマークアップの入門ツールとしても活用できます。
DToC(Dynamic Table of Contexts)
DToC(Dynamic Table of Contexts)は、TEI/XMLドキュメントの構造を動的に可視化するツールです。筆者はDToC: Dynamic Table of Contextsを試すで、DToC の機能と使い方を紹介しています。
FairCopy
FairCopyは、TEIテキストの作成支援ツールです。筆者はTEIテキストの作成支援ツール「FairCopy」の紹介で、このツールの機能を紹介しています。IIIFとの連携機能も備えています。
TEI Boilerplate
TEI Boilerplateは、TEI/XMLをブラウザで表示するためのシンプルなフレームワークです。筆者はTEI Boilerplateを試すで使用感を報告しています。
Versioning Machine
Versioning Machineは、校異情報を含むTEI/XMLの複数テキスト版を並列表示するためのツールです。筆者はVisual Studio Code(VSCode)でVersioning Machine(VM5.0)を使用するで、VSCodeでの使用方法を紹介しています。
OpenITI mARkdown
OpenITI mARkdownからTEI XMLへの変換ツールもあります。筆者はOpenITI mARkdownからTEI XMLへの自動変換ツール「oitei」を試すで、このツールを紹介しています。
Visual Studio Code
oXygenは商用ソフトウェアであるため、無料の代替手段としてVisual Studio Code(VS Code)にTEI関連の拡張機能をインストールして使う方法もあります。
筆者はVSCodeとXSLTを用いたTEI/XMLのリアルタイムプレビューで、VSCodeでXSLT変換結果をリアルタイムに確認する方法を紹介しています。また、Visual Studio Live Shareを用いてTEI/XMLファイルを共同編集する(xmlでなくても可)では、複数人でのTEI/XML共同編集環境の構築方法を解説しています。
まとめ
本章では、TEIドキュメントの作成・編集・変換・公開に関わる主要なツールを紹介しました。oXygen XML Editorは最も包括的なTEI編集環境を提供し、LEAF Writerはエンティティルックアップに強みを持ちます。CETEIceanはクライアントサイドでの軽量な表示を、Romaはカスタムスキーマの生成を実現します。TEI Garageは手軽なフォーマット変換に便利です。
プロジェクトの規模、予算、技術力、目的に応じて、これらのツールを適切に組み合わせることが重要です。次章では、TEIドキュメントのWeb公開について、より実践的な方法を解説します。
関連記事
- Oxygen XML Editorのイメージマップエディタの使用例
- Oxygenの自動整形機能においてlbタグの前で改行する方法
- LEAF-Writerをローカル環境で動かす
- LEAF WriterをNext.jsから使用する
- LEAF Writer:日本語UIの追加
- LEAF WriterのEditor Toolbarをカスタマイズする
- LEAF Writer:CSSのカスタマイズ
- LEAF Writer:スキーマのカスタマイズ
- LEAF Writer:Japan Searchに対するEntity Lookup
- LEAF Writer: Image Viewerの使い方
- LEAF Writer: Miradorを追加する
- LEAF Writer: サンプルデータの追加方法
- LEAF WriterとGakuNin RDMを用いたTEI/XMLファイルの編集環境の試作
- Gatsby CETEIceanを試す
- CETEIceanとNuxt3を使ったサンプルリポジトリを作成しました。
- Next.js + CETEIcean + React TEI Routerを使ったビューア開発
- CETEIceanとXPathを使って特定の要素にスクロールする
- Romaを使ってプロジェクトに応じたタグを限定し、解説を作成する
- Romaを使ってタグの属性に使用可能な値を限定する
- Romaを使ってプロジェクトに応じたタグに使用する属性を限定する
- TEIGarageを試す
- TEI GarageのAPIを使用したODDからRNG/HTMLへの変換
- TEI Garage APIを使って、DOCX → TEI/XML 変換ツールをブラウザだけで作った
- テキストマークアップツール「CATMA」の使い方
- DToC: Dynamic Table of Contextsを試す
- TEIテキストの作成支援ツール「FairCopy」の紹介
- TEI Boilerplateを試す
- Visual Studio Code(VSCode)でVersioning Machine(VM5.0)を使用する