今時の簡単なXML論文ファイル作成提出方法/デジタル・ヒューマニティーズ国際会議での事例

論文の本文をXMLで記述しよう、という取り組みは、世界的にはかなり進んでいるようであり、日本でもJ-STAGEが「全文XML」ということで推進中です。 この7月に東京大学が開催予定の、国際デジタル・ヒューマニティーズ学会連合(ADHO)による国際学術大会 DH2022でも、全文XMLでの提出が求められています…が、この学会連合の場合、論文のXMLどころか、写本や碑文、楽譜などの内容のXML化にずっと取り組んできたコミュニティであるため、その種の技術に長けている人が、特に欧米には結構な数いらっしゃいます。そのようなコミュニティですので、以下のようなルーティンで、論文執筆者はXMLタグをまったく見ずに、しかしXMLで構造化された論文ファイルを提出できる仕組みが用意されています。その結果、毎回の発表論文のデータはすべて(2017年大会を除き)全文XMLで利用できるようになっています。(ここでのXMLはTEIガイドライン準拠のものですが、JATS/XML等にもおそらく自動変換できると思われます)。

論文執筆者の手順

さて、これを論文執筆者の手順の方からみてみますと、

  1. 論文執筆者は自分の投稿システムIDでXMLファイル作成システムにログイン

  2. 自分の名前・所属・発表タイトル等が入力された、MSワードかLibreOfficeのテンプレートファイルをダウンロード

  3. MSワードかLibreOfficeでテンプレートファイルに本文・図・脚注・参考文献一覧などを記入

  4. XMLファイル作成システムに再度ログインしてXMLファイルを生成してダウンロード

  5. XMLファイルは画像ファイルや変換済みHTMLファイルなども含めてzipアーカイブ(拡張子は.dhc)としてまとめられてダウンロードされるのでそれを投稿システムにFInal Upload

という風になります。ですので、論文執筆者は、XMLタグをまったく見ずにXMLファイルを作成できているのです。

システムの裏側

このシステムの裏側ですが、JAVAで書かれたDHConvalidatorという、この会議のために作成されたソフトウェアがあります。 この学会連合ADHOのGitHubアカウントで公開されているのですが、デジタル・ヒューマニティーズは学会連合でもGitHubアカウントを 持っていてソフトやデータを公開しており、その一環という位置づけになっています。誰がコントリビュートするのか、と言えば、 欧米のDH分野には、プログラミングにはまってシステム開発もできるようになってしまう、いわゆる「作る人」が結構いて、 そういう人たちに大学院~ポスドクの間に学会連合が謝金を出しながら作業していただく、というのが割と一般的です。そうすると、 「自分たちが使いたい物を自分たちで作る」形になりますので、仕様書作成とか作りたいものの説明などの手間が 激減しますので、頼む側は安くで作れて、作成者はお金をもらいながらスキルも身について人脈もできて、 できあがるものもそんなに悪くない…という風になっています。さらに、学会を開催するたびにDHConvalidatorをセットアップして使う、となると、そのたびに作った人や メンテをしている人たちに色々おうかがいすることもでてきますので、人脈作りという意味では若手にはうってつけでしょう。 このソフトウェアは汎用性が高く、次に述べるConftoolを使っている学会ならそのまま使えますので、実際に他の学会でも これを利用して論文をXMLで提出させるところがあるようです。

次に、データ構築の効率化について少しみておきましょう。 ADHO関連学会では、学会開催時の投稿管理システムとしてConftoolというサービスを使っていますが、この システムではAPIで外部から認証できるようになっており、DHconvalidatorは、この認証APIを用いて認証したり、発表者の名前・所属・発表タイトルといった 基本的な情報を取得して自動的にXMLで記述してくれます。つまり、一度投稿システムに自分の情報を登録すれば、そこから一気にXMLのデータまで できてしまいますので、ユーザ側の操作が少なくてなかなか親切です。

実際の変換に際しては、DOCX等の色々なファイル形式をXML等のファイル形式に変換してくれるOxGarageというサービスがありまして、 デフォルトだとこのAPIを用いて対象ファイルをXMLに変換しています。

そういうものだと設定は結構面倒なのではないか…と思われるかもしれませんが、今時の仕組みですので、dockerで全部入りのものが動かせるようになっています。 実は、dockerに頼らずにやってみようかとしばらくあれこれ試してみたのですが、結局挫折しました…。で、dockerで動かした上で、Apacheのリバースプロキシで 外部から使えるようにしています。

まとめ

というようなことで、世の中ではXMLを使うべしとかXMLはもう古いとか色々おっしゃる向きもありますが、基本的に、楽な方に、使いやすい方に流れていきますし、 「作る人」が一定数確保できている分野では、色々便利なものが提供されるようになる、ということでもあります。「作る人」のみなさんを大切にしましょう、ということで 今夜はここまでとしたいと思います。