MathMLを含む一般的なHTML文書は, リスト3.1のように書きます. FireFoxで表示するには, 拡張子をxmlまたはxhtmlとします.
<?xml version="1.0" encoding="Shift_JIS" ?> ...(1)
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"> ...(2)
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" > ..(3)
<head>
:
: 省略
:
</head>
<body>
<p>数式
<math xmlns="http://www.w3.org/1998/Math/MathML"> ...(4)
<mrow> ...(5)
<mi>x</mi> ...(6)
<mo>+</mo> ...(7)
<mn>1</mn> ...(8)
<mo>=</mo>
<mn>2</mn>
</mrow>
</math>
を表示します.</p>
:
: 省略
:
</body>
</html>
リスト3.1 MathMLを含む一般的なHTML文書
このリスト3.1は図3.1のように表示されます.
数式 を表示します.
図3.1 MathMLを含む一般的なHTML文書の表示例まず, MathMLを含むHTML文書全体について見ていきます. MathMLを含むHTML文書は, まず(1)のようなXML宣言で書き始めます. 次に, (2)のように, MathMLを含んだXHTMLのDTDを使うことを宣言します. 文書は, (3)のように, 通常のHTML文書と同じ書き出しで始めます. ただし, xmlns="http://www.w3.org/1999/xhtml"という名前空間の宣言を必ず書く必要があり, HTML文書で使われていたlang属性の代わりにxml:lang属性を使う必要があります. なお, XHTML1.0で使われるlang属性とxml:lang属性を併記する書き方はできません. また, リスト3.1は日本語環境でShift_JIS文字コードを書いた場合です.
実際に数式を書くところには, (4)のように, mathというHTMLにはないタグを使います. mathには, 1つ1つxmlns="http://www.w3.org/1998/Math/MathML"という名前空間の宣言を付ける必要があります.
以前, MathMLマニュアルは, lang属性とxml:lang属性を併記する書き方で書かれていました. しかし, これは, 間違った書き方です. 申し訳ございませんでした.
次に, mathの中身を見ていきます. まず, (5)のmrowですが, これは, 数式の構成要素を横にまとめるタグです. このmrowは, mrowの中に入れ子にすることもできます. 例えば, リスト3.2のようにも, リスト3.1のmathの中身を表すことができます. また, mathの中に入れるタグは, 必ずしもmrowである必要はありません. 後述するmi, mo, mnや4. MathML Tips集で紹介する様々なタグを入れることができます.
<mrow>
<mrow>
<mi>x</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mo>=</mo>
<mn>2</mn>
</mrow>
リスト3.2 mrowの入れ子の例
次に, mrowの中身を見ていきます. mrowの中には, mi( (6) ), mo( (7) ), mn( (8) )の3つのタグが含まれています. まず, miは, x,yといった記号や, sin,cosといった関数名を示すのに使われます. 次に, moは, +,-,=といった演算子を表すのに使われます. 演算には, ","や()等も含まれます. 最後に, mnは, 数字を表すのに使われます.
以上でMathMLの書き方については終りです. 4. MathML Tips集やW3Cの仕様書を基にいろいろ試して見て下さい.