XMLとMathML

MathMLはXMLの応用の一つです。MathMLの前にXMLを説明します。

XML とは?

XML(eXtensible Markup Language)は、国際標準化機構(ISO)が制定したSGMLと呼ばれる文書記述言語を、World Wide Web Consortium(W3C)によってWeb上での利用が可能にできるように制定されたマークアップ言語です。 マークアップ言語とは、HTMLでおなじみの「タグ」と呼ばれる特定の文字列で地の文に構造を埋め込んでいく言語のことで、XMLはユーザが独自のタグを指定できます。 HTMLの本質的な目的は、文書の論理的な構造を明確にすることがですが、XMLは文書の意味的な構造も明確にします。 別な言い方をすると、XMLの文書は、文書であると同時にデータでもあります。

MathMLとは?

MathML(Matematical Markup Language)とはXMLベースのWebで数式を表現するための言語で、 数式を表記する際に、構造と内容の両方を書き表すことができるものです。数学の情報がワールドワイドウェブ上で公開・受信され、処理されるようにすることが、MathMLの目標です。

MathMLは構造と内容の両方を書き表すことができると言いましたが、具体的には、プレゼンテーション・マークアップコンテンツ・マークアップの2種類のタグセットで書き分けます。

プレゼンテーション・マークアップ

数学の記法における視覚的な構造を記述するものです。

コンテンツ・マークアップ

数学的意味を持った数式を記述するものです。

コンテンツ・マークアップはプレゼンテーション・マークアップより強力で、適当なスタイルシートのもとに コンテンツ・マークアップをプレゼンテーション・マークアップに変換することが可能です。

プレゼンテーション・マークアップとコンテンツ・マークアップの要素と使用例

プレゼンテーション・マークアップ コンテンツ・マークアップ
数式の表示を制御する要素 数式の数学的意味を示す要素
mo:演算子を記述する要素
mn:数字を記述する要素
mi:X,Yなどの変数を記述する要素
mfrac:分数を作るための要素
cn:数字を生成するための要素
ci:変数を生成するための要素
apply:数式をグループ化する要素
plus:「+」演算子を生成するための要素

ax+b

ax+b

<mrow>
 <mrow>
  <mi>a</mi>
  <mo> &InvisibleTimes; </mo>
  <mi>x</mi>
 </mrow>
 <mo>+</mo>
 <mi>b</mi>
</mrow>
<apply>
 <plus/>
  <apply>
   <times/>
    <ci> a </ci>
    <ci> x </ci>
  </apply>
  <ci> b </ci>
</apply>

数式処理ソフトウェア mathematica、maipleは入出力をMathML形式で受け取り・生成することが可能になっており、 数式をやり取りするuniversalな形式として、MathMLは有力な方法と言えます。

MathMLでの記述

上図の簡単な数式の例を見て頂いてもわかるように記述が困難です。もともと人間が読み書きするための言語ではなく、コンピュータが、数式情報を読み書きするための 言語であることが第一目的です。 よほど単純な場合をのぞいて、数式エディタや変換プログラム等が求められる。

次へ   目次に戻る