MathML における最上位の要素は <math> です。有効な MathML のインスタンスはすべて <math> タグに囲まれています。加えて、<math> 要素を入れ子状に配置してはなりませんが、中にその他の子要素をいくつでも持つことができます。
以下に示す属性に加え、<math> 要素は <mstyle> (en-US) 要素のすべての属性を受け入れます。
block
| この要素が現在のテキストの区間の外に、テキストの意味を変えることなく任意の場所に配置することができるブロックとして表示されることを意味します。 |
---|---|
inline
| この要素が現在のテキストの区間の内側に表示され、そのテキストの意味を変えることなくその区間の外に移動することができないことを意味します。 |
存在しない場合、既定値は inline です。
取りうる値は display(これは display="block" と同じ効果を持ちます)および inline です。
取りうる値は linebreak(既定値)、scroll、elide、truncate、scale です。
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>
表示内容: |
表示内容: |