読み方:ますえむえる《mathematical markup language》数式を記述するためのマークアップ言語のこと。Weblio国語辞典では「MathML」の意味や使い方、用例、類似表現などを解説しています。">

「MathML」の意味や使い方 わかりやすく解説 Weblio辞書 (original) (raw)

MathML

拡張子 .mml
MIMEタイプ application/mathml+xml
開発者 World Wide Web Consortium
最新版 3.0 2nd Edition [1] (2014-4-10)
種別 マークアップ言語
派生元 XML
ウェブサイト www.w3.org/Math/

MathML(マスエムエル、Mathematical Markup Language)は、XMLアプリケーションの一つで、数式を記述するためのマークアップ言語である。単体では数式の記述しかできないため、文書として利用するにはXHTMLに埋め込んでXHTML文書として扱うなどする。

歴史

コンピュータ上で数式を記述する要求はウェブが普及する前からあった。なかでもTeXは有名でかつよく使われており、数式の表記方法としてもテキストのみで表記せざるを得ないときなどに用いられる他、ウィキペディアを含むウィキ等での数式を表現する手段として今日でもよく使われている。しかし、HTML上で数式を表現する手段がなく、ウェブで数式を表現するには画像にするか、PDFなどHTML以外の形式にすることが多い。

なお、HTML 3.0では数式を表現できるようにしていた。1995年の案ではMATH要素が入れられることになっていた[2]。これはMathematicaで有名な Wolfram Research の提案をもとにしたものである。しかしHTML3.0は後に破棄され、またほとんどのブラウザはMATH要素に対応しなかった。HTMLに数式を載せること自体は果たせなかったものの、後のW3CのMathワーキンググループの前身といえる HTML Math Editorial Review Board が設立されるなどした。ちなみに、これは現在のMathMLとは違い、TeXの数式表記に似た表記法であった。

1999年7月にMathML規格バージョン1.01がW3CのMathワーキンググループから勧告された。そして2001年2月にバージョン2.0が勧告され、2003年10月にバージョン2.0第2版が勧告された。その後、2010年10月にバージョン3.0が勧告された。

MathMLのオリジナルのバージョンでは名前空間が決められていなかった。というのも、まだXML名前空間の仕様自体が決まっていなかったからである。こうした事情から名前空間を指定されないことが多いが、名前空間を http://www.w3.org/1998/Math/MathML と指定しないとMathMLと認識しない実装も多い。

表示と意味論

MathMLは数式の要素のその_表示_をもってだけでなくその_意味_もまた処理する(MathMLの後者のものは「内容MathML」として知られる[訳注 1])。その内容が利用者にたいして通じるかどうかは、(方程)式の意味がその表示から離れて保たれるかどうかによる。例えば、それらにおいてMathMLが埋め込まれたウェブページは多くのブラウザーで自然なウェブページとして見ることができる、しかし視覚障害の利用者はそれらをスクリーンリーダー(例えば、Internet Explorer、(あるいは)9656+ビルトのOpera9.5のためのMathPlayerプラグイン、またはFirefoxのためのFire Vox(英語版)拡張版)の利用を通して同じようにMathMLを読むこともできる。

表現MathML

表現MathMLは(方程)式の(視覚的)表示に向けて用途を絞る、そしておおよそ30 個の構成要素をもつ。構成要素の名前はすべてmから始まる。ひとつの表現MathMLの表示は、それらのレイアウトを制御するものである(主に細部を細かく制御するものである、おおよそ50個の標識がまたある)、上位レベルの構成要素を使って組み合わされたところの_トークン_から組み立てられる。

内容MathML

内容MathMLは意味論においてまたは意味について、またはそれのレイアウトよりもむしろ表現に向いて用途を絞る。内容MathMLの中心は関数の適用を表示するところの<apply>構成要素である。適用されるその関数は<apply>のもとの最初の子の構成要素であり、そしてそれのオペランドまたはパラメーターは子の構成要素を保持する。内容MathMLはわずかな標識しか用いない。
識別子のようなものや数は、表現MathMLと比べて多量に、しかしcicnのようなものの構成要素をもって、個別にマークアップされる。トークンの単なる他のタイプの存在よりもむしろ、timespowerなどの、数学的な意味をMathMLが認めるものである、明確な構成要素によってオペレーターは表示される。いろいろな関数とオペレーターのために100個を超えるいろいろな構成要素がある([1]を見よ)。

よく知られた二次方程式の解の公式を例にする:

x = − b ± b 2 − 4 a c 2 a {\displaystyle x={\frac {-b\pm {\sqrt {b^{2}-4ac}}}{2a}}} Category:W3C勧告

マークアップ言語
オフィススイート・文書 CDF OOXML ODF UOF DocBook RTF Texinfo
Web cHTML FHTML(英語版HDML HTML WML WapTV(英語版XHTML
組版 TeX ConTeXt LaTeX SATySFi
軽量 AsciiDoc Djot Markdown POD reStructuredText Re:VIEW Wiki
データ記述 TEI TOML XAML YAML
その他の言語 AmigaGuide(英語版) CML(英語版)(化学) Crossmark(英語版DITA eLML(英語版) EAD(英語版) Enriched text(英語版)(電子メール) GuideML(英語版) HyTime(英語版) IPF(英語版LilyPond(楽譜) LinuxDoc(英語版) Lout(英語版) MIF(英語版) MAML(英語版MathML MEI(英語版MusicXML OMDoc(英語版) OpenMath(英語版)(数式) RTML(英語版) RFT(英語版) S1000D(英語版troff