はじめに
TEI(Text Encoding Initiative)でデジタル画像のメタデータを記述する際、facsimile要素を使用します。特にIIIF(International Image Interoperability Framework)対応のデジタルアーカイブでは、マニフェストやキャンバス、Image APIへの参照を適切に記述することが重要です。
本記事では、ODD(One Document Does it all)を使用して、ファクシミリ記述に必要な制約をスキーマとして定義する方法を紹介します。
準拠するガイドライン
本ODDは、日本語TEIガイドラインで紹介されている「IIIF画像とのリンク」仕様をベースにしています:
このガイドラインに準拠したデータを作成することで、TEI Viewer for EAJでの画像表示が可能になります。TEI Viewerは、TEIテキストとIIIF画像を連携して表示できるビューアであり、facsimile要素の情報を利用してテキストと画像の対応付けを行います。
設計目標
以下の要件を満たすスキーマを設計しました:
- 必須情報の明確化 : 画像の座標情報や識別子など、最低限必要な情報を必須属性として定義
- IIIF対応 : マニフェスト、キャンバス、Image APIへの参照をオプショナルに記述可能
- 再利用性 : 独立したODDファイルとして、複数プロジェクトで共有可能
- ビューア互換性 : TEI Viewer for EAJでの表示に必要な情報を確実に記録
最小限の記述例
<facsimile sameAs="https://example.org/iiif/manifest.json">
<surface ulx="0" uly="0" lrx="5600" lry="4000" xml:id="p1">
<graphic sameAs="https://example.org/image/001.tif"/>
</surface>
</facsimile>
完全な記述例(IIIF参照を含む)
<facsimile sameAs="https://example.org/iiif/manifest.json">
<surface ulx="0" uly="0" lrx="5600" lry="4000"
sameAs="https://example.org/canvas/p1" xml:id="p1">
<graphic url="https://example.org/image/001.tif/full/full/0/default.jpg"
sameAs="https://example.org/image/001.tif"/>
</surface>
</facsimile>
ODD定義の解説
1. facsimile要素
<elementSpec ident="facsimile" mode="change">
<desc>ファクシミリ画像情報。IIIFマニフェストへの参照を含む。</desc>
<classes mode="replace"/>
<content>
<elementRef key="surface" minOccurs="1" maxOccurs="unbounded"/>
</content>
<attList mode="replace">
<attDef ident="sameAs" mode="replace" usage="opt">
<desc>IIIFマニフェストへの参照URL</desc>
<datatype>
<dataRef key="teidata.pointer"/>
</datatype>
</attDef>
</attList>
</elementSpec>
ポイント :
surface要素を1つ以上含むことを必須化(minOccurs="1")sameAs属性でIIIFマニフェストへの参照をオプショナルに設定
2. surface要素
<elementSpec ident="surface" mode="change">
<desc>画像面。座標情報とIIIFキャンバスへの参照を含む。</desc>
<classes mode="replace"/>
<content>
<elementRef key="graphic" minOccurs="1" maxOccurs="unbounded"/>
</content>
<attList mode="replace">
<attDef ident="xml:id" mode="replace" usage="req">
<desc>画像面を一意に識別するID(必須)</desc>
</attDef>
<attDef ident="ulx" mode="replace" usage="req">
<desc>左上X座標(必須)</desc>
<datatype><dataRef key="teidata.numeric"/></datatype>
</attDef>
<attDef ident="uly" mode="replace" usage="req">
<desc>左上Y座標(必須)</desc>
<datatype><dataRef key="teidata.numeric"/></datatype>
</attDef>
<attDef ident="lrx" mode="replace" usage="req">
<desc>右下X座標(必須)</desc>
<datatype><dataRef key="teidata.numeric"/></datatype>
</attDef>
<attDef ident="lry" mode="replace" usage="req">
<desc>右下Y座標(必須)</desc>
<datatype><dataRef key="teidata.numeric"/></datatype>
</attDef>
<attDef ident="sameAs" mode="replace" usage="opt">
<desc>IIIFキャンバスへの参照URL(オプション)</desc>
<datatype><dataRef key="teidata.pointer"/></datatype>
</attDef>
</attList>
</elementSpec>
ポイント :
xml:idと座標属性(ulx,uly,lrx,lry)を必須化(usage="req")graphic要素を1つ以上含むことを必須化sameAs属性でIIIFキャンバスへの参照をオプショナルに設定
3. graphic要素
<elementSpec ident="graphic" mode="change">
<desc>画像参照。IIIF Image APIのURLまたは画像ファイルへの参照。</desc>
<classes mode="replace"/>
<attList mode="replace">
<attDef ident="sameAs" mode="replace" usage="req">
<desc>画像ファイルへの参照URL(必須)。IIIF Image APIのベースURLを指定。</desc>
<datatype><dataRef key="teidata.pointer"/></datatype>
</attDef>
<attDef ident="url" mode="replace" usage="opt">
<desc>IIIF Image APIの完全なURL(オプション)。</desc>
<datatype><dataRef key="teidata.pointer"/></datatype>
</attDef>
</attList>
</elementSpec>
ポイント :
sameAs属性を必須化:画像ファイルの正規URLを常に記録url属性はオプショナル:IIIF Image APIのパラメータ付きURL(/full/full/0/default.jpgなど)を記述可能
属性の設計思想
sameAs属性の役割
sameAs属性は、リソースの正規識別子(canonical identifier)を記録するために使用します:
| 要素 | sameAs属性の内容 |
|---|---|
facsimile | IIIFマニフェストURL |
surface | IIIFキャンバスURL |
graphic | 画像ファイルのベースURL(.tifなど) |
url属性との使い分け
graphic要素ではsameAsとurlを併用できます:
- sameAs : 画像の正規URL(例:
https://example.org/image/001.tif) - url : IIIF Image APIの完全なURL(例:
https://example.org/image/001.tif/full/full/0/default.jpg)
これにより、画像の識別と実際のアクセスURLを分離して管理できます。
バリデーション結果の例
このスキーマでバリデーションを行うと、不完全な記述は以下のようなエラーで検出されます:
error: element "surface" missing required attributes "lrx", "lry", "ulx" and "uly"
error: element "graphic" missing required attribute "sameAs"
TEI Viewer for EAJでの活用
本ODDに準拠したTEIデータは、TEI Viewer for EAJで画像と共に表示することができます。ビューアは以下の機能を提供します:
- TEIテキストとIIIF画像の連携表示
pb要素のfacs属性による画像切り替えsurface要素の座標情報を利用した画像領域の特定
スキーマで必須属性を定義することで、ビューアでの表示に必要な情報が確実に記録されることを保証できます。
まとめ
TEI ODDを使用することで、IIIF対応のファクシミリ記述に対して以下の制約を実現できました:
- 必須情報の保証 : 座標情報や画像参照の欠落を防止
- 柔軟な拡張性 : IIIF関連情報はオプショナルとして段階的な対応が可能
- 再利用性 : 独立したODDモジュールとして複数プロジェクトで共有
- ビューア互換性 : TEI Viewer for EAJでの表示を保証
ODDによるスキーマ設計は、XMLデータの品質管理と標準化に有効なアプローチです。日本語TEIガイドラインに準拠することで、エコシステム内のツールとの相互運用性も確保できます。