![見出し画像](https://assets.st-note.com/production/uploads/images/69341617/rectangle_large_type_2_814b3ff573cd1f0ec6fc2e780b8f823f.png?width=1200)
MathML仕様書を和訳してみて驚いたこと
MathML仕様書"Mathematical Markup Language (MathML) Version 3.0 2nd Edition"を、2019年11月~2021年7月の約1年半かけて和訳しました。和訳した仕様書は、"数学用マークアップ言語 (MathML) ヴァージョン 3.0 第2版"で公開しています。MathMLそのものは、何度も書いて利用したことがあったのですが、仕様書を和訳してみて驚いたことがありました。
DTDファイルを使用しない
MathML2のころは、XMLファイルでDTDファイルを参照するDOCTYPE宣言を書いて利用するという方法が主流でした。現在の主流な書き方は、DOCTYPE宣言を書かない整形式の文書とする書き方で、ただただ時代の変化を感じて驚きました。
厳格なコンテントMathMLって哲学的
MathMLを利用する場合、ブラウザで表示できるプレゼンテーションMathMLを利用することばかりでした。なので、コンテントMathMLについては、概念は知っているけど実質利用したことが無いという状況でした。
そのコンテントMathMLの意味を規定するために、厳格なコンテントMathMLというのが使われています。apply要素を利用し、OpenMathの定義を参照して、意味を規定するのですが、LISPのような構文が書かれていて、なんとも哲学的だと驚きました。
mstackの使い方が分かっても利用できない
利用したことが無かったのですが、筆算を記述できるmstackという要素があります。MathMLと筆算という組合せに面白そうと興味を惹かれていたのですが、実際に使ってみようとするとMathMLに対応しているFirefoxですら表示されません。どうもFirefoxが対応していないようで、「一番MathMLが表示できるブラウザですらこの状況か」とちょっと驚くとともに悲しくなりました。
こういった具合に3つ挙げさせて頂いたのですが、『MathMLを使ってみることと、仕様の細かい部分を理解することでは、違った発見がある』というのが和訳してみた一番の収穫でした。