「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と比べて多量に、しかしciとcnのようなものの構成要素をもって、個別にマークアップされる。トークンの単なる他のタイプの存在よりもむしろ、times、powerなどの、数学的な意味を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 |