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のように表示されます.
数式
を表示します.
まず, 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文字コードを書いた場合です.
以前, MathMLマニュアルは, lang
属性とxml:lang
属性を併記する書き方で書かれていました. しかし, これは, 間違った書き方です. 申し訳ございませんでした.
実際に数式を書くところには, (4)のように, math
というHTMLにはないタグを使います. math
には, 1つ1つxmlns="http://www.w3.org/1998/Math/MathML"
という名前空間の宣言を付ける必要があります.
次に, 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の仕様書を基にいろいろ試して見て下さい.