🙌

TEIGarageを試す

2024/05/05に公開

概要

TEIGarageは、以下のように説明されています。

https://github.com/TEIC/TEIGarage/

TEIGarage is a webservice and RESTful service to transform, convert and validate various formats, focussing on the TEI format. TEIGarage is based on the proven OxGarage.

(機械翻訳)TEIGarageは、TEIフォーマットを中心にさまざまなフォーマットの変換、変換、検証を行うウェブサービスおよびRESTfulサービスです。TEIGarageは、実績のあるOxGarageに基づいています。

試す

以下のページで試すことができます。

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

以下で公開されている「TEI Minimal」のoddファイルを対象にします。このファイルは、Romaのプリセットの一つとしても使用されています。

https://tei-c.org/Vault/P5/current/xml/tei/Exemplars/tei_minimal.odd

上記のファイルをダウンロードします。

そして、TEIGarageのサイトにおいて、「Convert from」に「Compiled TEI ODD」、「Convert to」に「xHTML」を選択して、「ファイルを選択」にダウンロードしたoddファイルをアップロードします。

ダウンロードされたHTMLファイルはブラウザ等で確認することができます。

ちなみに、「Show advanced options」をクリックすると、パラメータのほか、変換に使用するURLが表示されます。

URLはエンコードされているため、デコードすると、以下になります。

https://teigarage.tei-c.org/ege-webservice/Conversions/ODDC:text:xml/TEI:text:xml/xhtml:application:xhtml+xml/conversion?properties=<conversions><conversion index="0"><property id="oxgarage.getImages">true</property><property id="oxgarage.getOnlineImages">true</property><property id="oxgarage.lang">en</property><property id="oxgarage.textOnly">false</property><property id="pl.psnc.dl.ege.tei.profileNames">default</property></conversion><conversion index="1"><property id="oxgarage.getImages">true</property><property id="oxgarage.getOnlineImages">true</property><property id="oxgarage.lang">en</property><property id="oxgarage.textOnly">false</property><property id="pl.psnc.dl.ege.tei.profileNames">default</property></conversion></conversions>

propertiesパラメータの中に、以下のxml記述を確認することができます。

<conversions>
  <conversion index="0">
    <property id="oxgarage.getImages">true</property>
    <property id="oxgarage.getOnlineImages">true</property>
    <property id="oxgarage.lang">en</property>
    <property id="oxgarage.textOnly">false</property>
    <property id="pl.psnc.dl.ege.tei.profileNames">default</property>
  </conversion>
  <conversion index="1">
    <property id="oxgarage.getImages">true</property>
    <property id="oxgarage.getOnlineImages">true</property>
    <property id="oxgarage.lang">en</property>
    <property id="oxgarage.textOnly">false</property>
    <property id="pl.psnc.dl.ege.tei.profileNames">default</property>
  </conversion>
</conversions>

Open API

以下にアクセスすると、Open APIに基づき、利用可能なオプション等を確認することができます。

https://teigarage.tei-c.org/ege-webservice/

Conversionsを試してみます。「Try it out」ボタンを押します。

output-document-typeには、デフォルトで「odt:application:vnd.oasis.opendocument.text」という値が入力されていますが、「xhtml:application:xhtml+xml」に変更します。

結果、変換後のHTMLファイルをダウンロードすることができます。

これにより、https://teigarage.tei-c.org/ で提供されているUIを介さず、TEIGarage APIを使用して、機械的にフォーマット変換等を行うことも可能になります。

まとめ

今回はODDファイルからHTMLファイルを生成することを例として、TEIGarageの使用方法を説明しました。

一般的には、以下で紹介したRomaを使用することに、GUIを介して本記事の内容を実現することができます。

https://zenn.dev/nakamura196/articles/09ff9f6c2664e2

ただし、Romaでも裏側ではTEI Garageが使用されているとのことで、TEIのエコシステムの充実を感じました。

参考

Romaの設定ファイルの一つとして、以下があります。

https://github.com/TEIC/romajs/blob/dev/src/utils/urls.js

/* ROMA NEEDS THE FOLLOWING ONLINE SERVICES AND RESOURCES:
   - TEIGarage
   - Static TEI data (p5subset) in XML and JSON formats

   Set custom URLs values here.
*/

export const TEIGARAGE_PROTOCOL = 'https'
export const TEIGARAGE_LOCATION = 'teigarage.tei-c.org'

export const DATASOURCES_PROTOCOL = 'https'
export const DATASOURCES_LOCATION = 'tei-c.org/Vault/P5/current/xml/tei/odd'

export const PRESETS_PROTOCOL = 'https'
export const PRESETS_LOCATION = 'tei-c.org/Vault/P5/current/xml/tei/Exemplars'

TEIGARAGEのほかに、DATASOURCESおよびPRESETSで https://tei-c.org/Vault/ というURLが使用されています。

こちらにアクセスしてみると、以下のアーカイブページが表示されます。こちらにあるファイルが適宜参照されているようでした。

以下、参考までに機械翻訳です。

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

Discussion