W3C規格解説
MathML(Mathematical Markup Language)
(株)日本ユニテック
村上 泰介
MathMLとは、数式の記述をXMLで行うための規格で、現在はV2.0です。MathMLの用途は数学および科学的なコンテンツを表現するということにあります。
(http://www.w3.org/TR/MathML2/
MathMLをブラウザで表示する
MathMLのデータを科学的な計算アプリケーション間でやり取りするという場合も考えられますが、ブラウザで表示するというケースの場合が多いことでしょう。ですから、MathMLをブラウザでどのように表示するかということを説明したいと思います。
現状においてはMathMLを完全に実装したブラウザはありません。W3CのブラウザであるAmaya(http://www.w3.org/Amaya/)でもそうです。IEやNNではMathML用のプラグインタ必要になります。それには次の2種類があります。
1.MathPlayer(http://www.dessci.com/webmath/mathplayer/)
Design Science社のIE用のプラグインで無償で利用可能。
2.Techexplorer(http://www-3.ibm.com/software/network/techexplorer/)
IBMのIEおよびNN用のプラグインで有償で利用可能。(トライアル版は30日間使用可能)
ただ、これらプラグインを利用するだけでは、MathMLのデータをブラウザで表示することはできません。ブラウザはXHTMLデータを表示するものなので、MathMLをXHTMLのタグで囲わなければなりません。そしてさらにMathMLのデータの個所にスタイルシートを適用しなければならないのです。そのことで、プラグインを利用したブラウザはMathMLのデータを正しく表示できるのです。

次のXHTMLデータがサンプルです。ここにあるように、W3Cが提供する"mathml.xsl"というスタイルシートを指定しなければならないのです。
MathMLを含むXHTMLデータのサンプル
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="mathml.xsl"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>test</title></head>
<body>
<h1>Example</h1>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow>
<mrow>
<msup><mi>x</mi><mn>2</mn></msup>
<mo>+</mo>
<mrow>
<mn>4</mn>
<mi>x</mi>
</mrow>
<mo>+</mo>
<mn>4</mn>
</mrow>
<mo>=</mo>
<mn>0</mn>
</mrow>
</math>
</body>
</html> |
サンプルのデータを、IE6+MathPlayerで表示すると次のようになります。

まとめ
MathMLをブラウザで表示する方法について主に述べましたが、現状のブラウザの対応は不十分といわざるを得ません。NN7はプラグインなしでもMathMLを表現できるようになるといわれていますが、今後は他のブラウザもそのような方向に進んでもらいたいものです。
関連サービス
標準化仕様の動向調査
最新動向を伝えるDXメールニュース
(無料)

|