TEIヘッダーとは

TEIヘッダー(<teiHeader>)は、TEIドキュメントのメタデータを記述する部分です。書誌情報、エンコーディング方針、テキストの分類、改訂履歴など、テキスト本体を理解し利用するために必要な情報を体系的に格納します。

図書館のカタログカードがその本の内容・著者・出版情報を提供するように、TEIヘッダーはデジタルテキストの「カタログカード」として機能します。適切に設計されたTEIヘッダーは、テキストの発見性(discoverability)、再利用性、長期保存性を大きく向上させます。

筆者は校異源氏物語テキストDBの構築にあたって、TEIヘッダーの設計に多くの時間を割きました。複数の写本を扱うプロジェクトでは、<sourceDesc>内の<listWit>(証人リスト)の設計が特に重要です。詳細は校異源氏物語テキストDBで公開するTEI/XMLファイルに対するDTS APIを作成するを参照してください。

TEIヘッダーは以下の4つの主要コンポーネントで構成されます。

コンポーネント要素名必須/任意内容
ファイル記述<fileDesc>必須書誌情報(タイトル、著者、出版情報、原資料情報)
エンコーディング記述<encodingDesc>任意エンコーディングの方針と実践
プロファイル記述<profileDesc>任意テキストの非書誌的な分類情報
改訂記述<revisionDesc>任意改訂履歴

fileDesc(ファイル記述)

<fileDesc> はTEIヘッダーの中で唯一の必須コンポーネントです。デジタルテキストの書誌情報を記述します。

titleStmt(タイトル記述)

<titleStmt> には、デジタルテキストのタイトルと、その作成に関わった人物・組織の情報を記述します。

<titleStmt>
  <title type="main">源氏物語のTEIエンコーディング</title>
  <title type="sub">桐壺巻</title>
  <author>
    <persName ref="https://viaf.org/viaf/100218300">
      紫式部
    </persName>
  </author>
  <editor>
    <persName>山田太郎</persName>
  </editor>
  <respStmt>
    <resp>TEIエンコーディング</resp>
    <persName>鈴木花子</persName>
  </respStmt>
  <funder>科学研究費補助金(基盤研究A)課題番号12345678</funder>
</titleStmt>

<title> 要素は必須です。原テキストの著者は <author> に、デジタル版の編者は <editor> に記述します。エンコーディング担当者やその他の貢献者は <respStmt> を使って記述します。

publicationStmt(出版記述)

デジタルテキストの公開・配布に関する情報を記述します。

<publicationStmt>
  <publisher>東京大学デジタルヒューマニティーズセンター</publisher>
  <pubPlace>東京</pubPlace>
  <date when="2024-01-15">2024年1月15日</date>
  <availability>
    <licence target="https://creativecommons.org/licenses/by/4.0/">
      Creative Commons Attribution 4.0 International License
    </licence>
  </availability>
  <idno type="DOI">10.1234/example.56789</idno>
</publicationStmt>

ライセンス情報は <availability> 内の <licence> 要素で記述するのが推奨されます。筆者はTEI/XMLファイルをGitHubで公開する手順書で、ライセンス設定も含めたGitHubでの公開手順を解説しています。

sourceDesc(原資料記述)

エンコーディングの元となった原資料の情報を記述します。

<sourceDesc>
  <bibl>
    <title>新編日本古典文学全集 源氏物語</title>
    <editor>阿部秋生ほか校注</editor>
    <publisher>小学館</publisher>
    <date when="1994">1994年</date>
  </bibl>
</sourceDesc>

原資料が複数ある場合(校異を行う場合など)は、<listWit> を使って証人(witness)のリストを記述します。筆者の校異源氏物語プロジェクトでは、複数の写本を<listWit>で管理しています。詳細は校異源氏物語・本文テキストデータリポジトリで公開しているTEI/XMLを一部更新しました。を参照してください。

<sourceDesc>
  <listWit>
    <witness xml:id="A">
      <msDesc>
        <msIdentifier>
          <settlement>東京</settlement>
          <repository>国立国会図書館</repository>
          <idno>WA7-123</idno>
        </msIdentifier>
      </msDesc>
    </witness>
    <witness xml:id="B">
      <msDesc>
        <msIdentifier>
          <settlement>京都</settlement>
          <repository>京都大学附属図書館</repository>
          <idno>貴重書コレクション456</idno>
        </msIdentifier>
      </msDesc>
    </witness>
  </listWit>
</sourceDesc>

encodingDesc(エンコーディング記述)

<encodingDesc> には、テキストのエンコーディングに関する方針と実践を記述します。どのようなルールでテキストをマークアップしたのかを文書化する重要なセクションです。

projectDesc(プロジェクト記述)

<encodingDesc>
  <projectDesc>
    <p>本プロジェクトは、源氏物語の主要写本のデジタル校訂版を作成することを目的とする。
    テキストは原則として底本の表記に忠実にエンコーディングし、異体字は正字に統一しない。</p>
  </projectDesc>
</encodingDesc>

editorialDecl(編集方針)

<editorialDecl>
  <correction>
    <p>底本の明らかな誤りは修正し、<gi>sic</gi>要素と<gi>corr</gi>要素で記録した。</p>
  </correction>
  <normalization>
    <p>仮名遣いは底本のままとし、現代仮名遣いへの正規化は行っていない。</p>
  </normalization>
  <punctuation>
    <p>句読点は底本に従い、補った箇所は<gi>supplied</gi>要素で明示した。</p>
  </punctuation>
</editorialDecl>

variantEncoding(校異方式の宣言)

校異情報を含むTEIドキュメントでは、使用する校異記述方式を宣言します。

<variantEncoding method="parallel-segmentation" location="internal"/>

筆者は校異源氏物語テキストDBの構築で、パラレルセグメンテーション方式を採用しました。この方式の選択理由と実装については、デジタル源氏物語における校異源氏物語と現代語訳の対応づけで詳しく述べています。

tagsDecl(タグ使用宣言)

文書内で使用されているタグの統計情報を記述できます。

<tagsDecl>
  <namespace name="http://www.tei-c.org/ns/1.0">
    <tagUsage gi="p" occurs="142"/>
    <tagUsage gi="persName" occurs="87"/>
    <tagUsage gi="placeName" occurs="34"/>
  </namespace>
</tagsDecl>

profileDesc(プロファイル記述)

<profileDesc> には、テキストの非書誌的な特徴を記述します。

langUsage(言語使用)

<profileDesc>
  <langUsage>
    <language ident="ja" usage="95">日本語</language>
    <language ident="zh" usage="5">漢文</language>
  </langUsage>
</profileDesc>

textClass(テキスト分類)

<textClass>
  <keywords scheme="#LCSH">
    <term>Japanese literature -- Heian period, 794-1185</term>
  </keywords>
  <classCode scheme="#NDC">913.36</classCode>
</textClass>

correspDesc(書簡記述)

書簡テキストの場合、送信者・受信者・日時などの情報を構造的に記述できます。

<correspDesc>
  <correspAction type="sent">
    <persName ref="#tanaka">田中一郎</persName>
    <placeName>東京</placeName>
    <date when="1923-08-15"/>
  </correspAction>
  <correspAction type="received">
    <persName ref="#suzuki">鈴木二郎</persName>
    <placeName>大阪</placeName>
  </correspAction>
</correspDesc>

revisionDesc(改訂記述)

<revisionDesc> には、TEIドキュメントの改訂履歴を記述します。

<revisionDesc>
  <listChange>
    <change when="2024-04-01" who="#yamada">
      校異情報の追加を完了
    </change>
    <change when="2024-03-15" who="#suzuki">
      第3巻のテキスト入力を完了
    </change>
    <change when="2024-01-10" who="#yamada">
      プロジェクト開始、TEIヘッダーの初期設定
    </change>
  </listChange>
</revisionDesc>

DHConvalidatorとの連携

学術発表の投稿にTEIを活用するケースもあります。筆者はDHConvalidator(デジタルヒューマニティーズ国際学会の投稿システム)について、DHConvalidatorにおける’ref’に関する不具合への対応で、TEI/XMLへの変換時の不具合とその対処法を紹介しました。また、DHCフォーマットの中身を確認するでは、DHConvalidatorで使用されるTEIフォーマットの構造を解説しています。

ヘッダー設計のベストプラクティス

TEIヘッダーの設計にあたって、以下の点を心がけることをお勧めします。

最初からすべてを完璧に記述しようとしない: プロジェクトの初期段階では、必須項目を中心に最低限の情報を記述し、段階的に充実させていくのが現実的です。

エンコーディング方針を明文化する: <encodingDesc> に編集方針を明確に記述しておくことで、複数の作業者間での一貫性を保てます。

永続的識別子を活用する: 著者や場所の参照にはVIAF、GeoNamesなどの永続的識別子を使い、Linked Open Dataとの連携を意識しましょう。

ライセンスを明示する: <availability> でライセンス情報を明確に記述することで、データの再利用を促進できます。

スキーマでヘッダーを検証する: プロジェクトに応じたODDを作成し、ヘッダーの記述内容もスキーマで検証できるようにしておくと、品質を担保できます。筆者はRomaを使ってプロジェクトに応じたタグを限定し、解説を作成するで、プロジェクト固有のスキーマ設計について解説しています。

まとめ

本章では、TEIヘッダーの4つの主要コンポーネント(<fileDesc>, <encodingDesc>, <profileDesc>, <revisionDesc>)の構造と記述方法を学びました。適切に設計されたTEIヘッダーは、テキストデータの品質と再利用性を大きく向上させる重要な基盤です。

次章では、テキスト本体(<text> 要素以下)の構造化に進みます。

関連記事