🦔

Romaを用いてカスタマイズしたrngファイルを作成する:使用するTEIタグを限定する

2023/01/12に公開

概要

本記事では、Romaというウェブアプリケーションを用いて、 TEI ODD (One Document Does-it-all) のカスタマイズを試みます。

https://romabeta.tei-c.org/

TEI ODDについては、以下の公式サイトをご確認ください。勉強不足により、私自身も十分に理解できておりません。

https://wiki.tei-c.org/index.php/ODD

ただ一つの用途として、TEIを用いたプロジェクトにおいて、使用する(具体的には、補助や検証を行う?)タグを限定することができます。

これにより、大量に用意されたTEIのタグに悩んでしまう、といった課題を軽減することができそうです。

今回は、以下で紹介した、ExcelからTEI/XMLを作成するフローで使用するタグを想定して、Romaを用いたodd/rngファイルのカスタマイズを行ってみます。

https://zenn.dev/nakamura196/articles/4a4b3c50745c87

使用するタグ

本ユースケースでは、以下のタグを使用します。

  • テキスト関連

    • pb
    • ab
    • lb
    • seg
    • choice
    • orig
    • note
    • reg
  • 画像関連

    • facsimile
    • surface
    • label
    • zone

上記のタグに限定したodd/rngファイルを作成します。

Romaの使用

Romaにアクセスします。

https://romabeta.tei-c.org/

「SELECT ODD」において、「TEI Minimal」を選択してみます。

設定画面において、Titleなどを修正します。特に、Language関係の2項目を日本語に設定することをお勧めします。

例えばabタグなど、各プロジェクトで使用するタグのみを選択していきます。

編集が完了したら、「RelaxNG schema」を選択してダウンロードします。

合わせて「Customization as ODD」もダウンロードしておくことをお勧めします。このODDファイルをRomaのトップ画面のフォームからアップロードすることにより、追加の編集ができました。

XMLファイルへの追加

ダウンロードしたtei_excel.rngファイルを、編集対象とするXMLファイルと同じ階層に置いた場合には、以下のように<?xml-model ... ?>を追記します。

<?xml version="1.0" encoding="utf-8"?>
<?xml-model href="tei_excel.rng" schematypens="http://relaxng.org/ns/structure/1.0" type="application/xml"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0">
 <teiHeader>
 ...
 </teiHeader>
...
</TEI>

一方、githubなどのサーバにアップロードした場合には、以下のように、URLの形式で指定することもできます。

<?xml version="1.0" encoding="utf-8"?>
<?xml-model href="https://raw.githubusercontent.com/nakamura196/test2021/main/tei_excel.rng" schematypens="http://relaxng.org/ns/structure/1.0" type="application/xml"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0">
 <teiHeader>
 ...
 </teiHeader>
...
</TEI>

XMLファイルの編集

この状態で、bodyタグの直下で<を入力すると、以下の選択肢が表示されました。Romaで選択したタグのみが表示されています。

参考までに、tei_all.rngを設定した場合の選択肢の例を示します。addSpanaltタグなど、より多くのタグが表示されています。

このように、Romaを用いて各プロジェクトで使用するタグを限定することで、タグ入力の煩雑さを軽減することができそうです。

まとめ

ODDおよびRomaではより多くのことができるはずですが、とりあえず、プロジェクトで使用するタグのみに限定したODD/rngファイルを作成することができました。

ODDファイルのカスタイズ方法やRomaの使い方などにおいて、本記事が参考になれば幸いです。

Discussion