MathML

4.7.14 MathML

MathML 名前空間math 要素は、この仕様のコンテントモデルという目的においては、エンベッディッド・コンテントフレージング・コンテント、そしてフロー・コンテントのカテゴリの中に入ります。

ユーザーエージェントは、MathML 要素の中にある要素間ホワイトスペース以外のテキストを処理しなければいけません。本来、MathML 要素のコンテントモデルは、MathML のコンテントモデルやレイアウトやレンダリングのためといえども、裸のテキストを許しません。そのようなテキストは、実際には、MathML 名前空間mtext 要素に包含されることになります。(とはいえ、そのようなテキストは準拠しません。)

ユーザーエージェントは、MathML レイアウトとレンダリングの目的のため、コンテンツがコンテントモデルに一致しないあらゆる MathML 要素が、あたかも、適切なエラーメッセージを含んだ MathML 名前空間merror 要素によって置き換えられたかのように、動作しなければいけません。

ウェブ制作者が XML 形式でしか MathML を受け入れられない MathML ツールを使うことができるように、インタラクティブな HTML ユーザーエージェントは、あらゆる MathML フラグメントを名前空間整形式の XML フラグメントとしてエクスポートする方法を提供することが推奨されます。

MathML 要素のセマンティクスは、MathML 仕様および他の適用可能な仕様で定義されています。 [MATHML]

この例では、HTML ドキュメントの中で MathML を使っています:

<!DOCTYPE html>
<html>
 <head>
  <title>二次方程式の解の公式</title>
 </head>
 <body>
  <h1>二次方程式の解の公式</h1>
  <p>
   <math>
    <mi>x</mi>
    <mo>=</mo>
    <mfrac>
     <mrow>
      <mo form="prefix">−</mo> <mi>b</mi>
      <mo>±</mo>
      <msqrt>
       <msup> <mi>b</mi> <mn>2</mn> </msup>
       <mo>−</mo>
       <mn>4</mn> <mo>⁢</mo> <mi>a</mi> <mo>⁢</mo> <mi>c</mi>
      </msqrt>
     </mrow>
     <mrow>
      <mn>2</mn> <mo>⁢</mo> <mi>a</mi>
     </mrow>
    </mfrac>
   </math>
  </p>
 </body>
</html>

※ 原文:http://www.w3.org/TR/2014/REC-html5-20141028/embedded-content-0.html#mathml