MathMLの2つのマークアップ
MathMLのマークアップは大きく2種類に分かれます。プレゼンテーションとコンテントです。
プレゼンテーションマークアップ
プレゼンテーションマークアップは数式のレイアウトを表現します。数式のレイアウトは数式の書き方と言っても良いと思います。例えば1を4で割る、1÷4とも書けますし1/4とも書けますし、分数で書くこともできます。
<math>
<mn>1</mn>
<mo>÷</mo>
<mn>4</mn>
</math>
<math>
<mn>1</mn>
<mo>/</mo>
<mn>4</mn>
</math>
<math>
<mfrac>
<mn>1</mn>
<mn>4</mn>
</mfrac>
</math>
また、同じ数式の書き方をしても、表すものが同じとも限りません。xの対数をと書いた場合に、暗黙的な底を何とするかは文脈なり分野によって異なるでしょうし、のiも虚数単位なのか、ただの変数なのか、それとも別の何かは文脈によります。
<math>
<mi>log</mi>
<mn>x</mn>
</math>
<math>
<mn>3</mn>
<mo>+</mo>
<mrow><mn>4</mn><mi>i</mi></mrow>
</math>
コンテントマークアップ
それに対して、コンテントマークアップはより抽象的・厳密に数式を表現します。1を4で割るなら、演算子「割る」をオペランド「1」と「4」に適用する、と表現します。それが最終的にどのような数式になるかは表現しません。また、対数や虚数単位にも専用の要素があるため、より厳密に表現できます。
<math>
<apply>
<divide />
<cn>1</cn>
<cn>4</cn>
</apply>
</math>
<math>
<apply>
<log /><!-- 暗黙的な底は10 -->
<ci>x</ci>
</apply>
</math>
<math>
<apply>
<plus />
<cn>3</cn>
<apply>
<times />
<cn>4</cn>
<imaginaryi /><!-- 虚数単位 -->
</apply>
</apply>
</math>
実際のマークアップ
MathMLとしてよく使われているのはプレゼンテーションマークアップで、一部のブラウザーによるサポートも進んでいます。EPUB 3.0で埋め込めるMathMLも基本的にはプレゼンテーションマークアップです(EPUB Content Documents 3.0)。
なお、MathMLではプレゼンテーションマークアップのアノテーションとしてコンテントマークアップを埋め込むこともできます。また、コンテントマークアップのアノテーションとしてプレゼンテーションマークアップを指定することもできます。