マス‐エムエル【MathML】
MathML
読み方:マスエムエル
MathMLとは、W3Cが勧告している、数式などの数学的記述を表現するためのXML仕様である。
MathMLはXMLに基づくマークアップ言語であるため、XHTMLに埋め込んでWeb上で数式を表現するなどの用途に比較的適している。2010年7月現在の最新版は、2003年10月に勧告されたバージョン2.0(第2版)である。
コンピュータ上で数式を記述するための手段としては、MathMLの他に、組版ソフトウェアの一種である「TeX」が知られている。
参照リンク
W3C Math Home - (W3C)
Mathematical Markup Language (MathML) Version 2.0 (Second Edition) - (W3C)
MathMLマニュアル - (Tsujino Lab.)
Mathematical Markup Language
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/02/17 05:00 UTC 版)
このページは著作権侵害のおそれが指摘されており、事実関係の調査が依頼されています。 このページの現在または過去の版は、ウェブサイトや書籍などの著作物からの無断転載を含んでいるおそれが指摘されています。もしあなたが転載元などをご存知なら、どうぞこのページのノートまでご一報ください。 著作権侵害が確認されると、このページは削除の方針により一部の版または全体が削除されます。もしこのページの加筆や二次利用をお考えでしたら、この点を十分にご認識ください。 |
この項目「Mathematical Markup Language」は翻訳されたばかりのものです。不自然あるいは曖昧な表現などが含まれる可能性があり、このままでは読みづらいかもしれません。(原文:MathML 15:14, 2 January 2017 の版) 修正、加筆に協力し、現在の表現をより自然な表現にして下さる方を求めています。ノートページや履歴も参照してください。(2017年2月) |
拡張子 | .mml |
---|---|
MIMEタイプ | application/mathml+xml |
開発者 | World Wide Web Consortium |
最新版 | 3.0 2nd Edition (2014-4-10) |
種別 | マークアップ言語 |
派生元 | XML |
ウェブサイト | www |
Mathematical Markup Language(マスマティカル マークアップ ランゲージ 略:MathML(マスエムエル))は、XMLアプリケーションの一つで、数式を記述するためのマークアップ言語である。単体では数式の記述しかできないため、文書として利用するにはXHTMLに埋め込んでXHTML文書として扱うなどする。
歴史
コンピュータ上で数式を記述する要求はウェブが普及する前からあった。なかでもTeXは有名でかつよく使われており、数式の表記方法としてもテキストのみで表記せざるを得ないときなどに用いられる他、ウィキペディアを含むウィキ等での数式を表現する手段として今日でもよく使われている。しかし、HTML上で数式を表現する手段がなく、ウェブで数式を表現するには画像にするか、PDFなどHTML以外の形式にすることが多い。
なお、HTML 3.0では数式を表現できるようにしていた。1995年の案ではMATH要素が入れられることになっていた[1]。これは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]を見よ)。
例
よく知られた二次方程式の解の公式を例にする:
固有名詞の分類
マークアップ言語 | 軽量マークアップ言語 Markdown Mathematical Markup Language 文書スキーマ定義言語 Extensible Application Markup Language |
- Mathematical Markup Languageのページへのリンク