MathMLでウェブに数学を (和訳)

  • この文書は、http://www.w3.org/Math/XSL/で公開されている "Putting mathematics on the Web with MathML" を、和志武 功久が個人的に和訳したものです。原著作者は W3C であり、知的財産権を初めとする各権利は W3C が保有します。
  • この文書は参考試訳であり、標準的な位置づけにはありません。正確な情報については W3C のサイト中にある原文を参照してください。
  • 翻訳作業に伴う誤植がある可能性がありますので注意してください。また、発見した場合はぜひご連絡ください
  • This document is a Japanese translation of "Putting mathematics on the Web with MathML" found at http://www.w3.org/Math/XSL/, by Norihisa Washitake. The original copyright holder is The W3C Math Working Group of W3C.

MathML inside!

MathMLでウェブに数学を

(Putting mathematics on the Web with MathML)

(この文書の各国語版もあります)

このメモでは、ウェブページ中にMathMLをどのように含めれば多くのブラウザで閲覧ができるようになるか、について説明します。また、各ブラウザでMathMLを表示するためにどのような設定が必要かについても説明します。これから説明する方法でMathMLを含むウェブページを正しく表示できるようになるブラウザは、現時点では以下のものが確認されています (記号 '+' は、それ以降のバージョンでも対応していることを示します):

自分の利用するブラウザがMathMLを表示できるかどうかは、simple Presentation MathML example または more complex Content MathML page (レンダリングには若干時間がかかります) でチェックできます。

この文書は、この文章を読もうと思って読んでいる人のみではなく、数式をウェブページに含めたいと考えているウェブコンテンツ制作者のために書かれています。

「なぜ?」「どうやって?」に答えるべき 技術的な詳細 は、MathML 用の XSLT スタイルシートの中に存在しています。 MathML会議中に David Carlisle のスピーチで用いられた スライド もご覧ください。

ウェブページにMathMLを含める

表示できるプラットフォームを増やすために、文書は次のルールに則って書かれるべきです。なお、amaya のように W3C 標準に準拠しているエディタを使えば、これらのルールは自動的に守られています。

1. 埋め込み型のMathMLとXHTMLを用いてページを作成する

MathML によるマークアップを埋め込むウェブページは、XHTMLを用いて書かれるべきです。例を以下に示します:

<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>...</head>
  <body>
    <h1>例</h1>
    ....
    <math xmlns="http://www.w3.org/1998/Math/MathML">
      <mi>x</mi><mo>+</mo><mn>3</mn>
    </math>
  </body>
</html>

MathML マークアップは、<object> タグの中や、<embed>タグによってリンクされた独立したファイルに記述するべきではありません。

2. 指示(instruction)を処理するスタイルシートを追加

次に示す1行 (太字の行) を、XHTMLページの最初に挿入してください。<html>タグの開始前で、かつ XML 宣言 <?xml...?> の後 (ある場合のみ)です:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://www.w3.org/Math/XSL/mathml.xsl"?>
<html xmlns="http://www.w3.org/1999/xhtml">
...

通常はこれでうまく動作するはずです (ただし、Internet Explorer では、セキュリティ上の理由からXHTML+MathML文書と異なるサーバーにおかれた XSLT スタイルシートを実行できません。この場合、以下の「オフライン」の説明に従ってください。また、IEのセキュリティに関する情報については、この文書の最後をご覧ください)。しかし、ほかの書き方もできます:

以上で、MathMLが表示されるようになるでしょう。詳しい情報については、引き続きお読みください。

優先順位の指定

MathMLのマークアップを複数の方法でレンダリングできるブラウザもありうる (たとえば IEとtechexplorerプラグインの組み合わせでは、数式をCSSを用いて表示することもできます) ので、レンダリング方法の優先順位を明記する方法が用意されています。 これは、特殊な名前空間に属する renderer と呼ばれる属性を用いて実現されています。たとえば、次の例では CSSによるレンダリング方法が優先されます:

<?xml-stylesheet type="text/xsl" href="pmathml.xsl"?>

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:pref="http://www.w3.org/2002/Math/preference"
      pref:renderer="css">
<head>...</head>
<body>...</body>
</html>

rendererの採りうる値は以下の通りです:

マイクロソフト社 Internet Explorer のセキュリティ

Internet Explorer のデフォルトの設定では、文書ファイルと異なるサーバー上にある XSLT スタイルシートは適用できません。従って、次のような記述ができません:

<?xml-stylesheet type="text/xsl" href="http://www.w3.org/Math/XSL/mathml.xsl"?>

代わりに、(既に述べたとおり) スタイルシートを文書ファイルと同じサーバーにコピーする必要があります。もしくは、Internet Explorer のセキュリティに関するオプションを変更することもできますが、MathMLのスタイルシート以外の閲覧にも影響を及ぼすので、この方法はお勧めできません。.

MathMLの会議でのプレゼンテーション

このスタイルシートは、第2回国際MathML会議 (International MathML Conference) でのプレゼンテーションで利用されました。一連の話は、ブラウザを「フルスクリーン」の状態で表示する場合のスタイルシートの例です。プレゼンテーションでは、IE6, Mozilla 1.0, Amaya 6.1, Netscape 7.0PR1 のすべてでこの例を表示しました。

MathML に加え、このスタイルシートを SVG に拡張した例も少しだけデモンストレーションされています。


W3C数学ワークグループ。質問・バグやコメントは [email protected] までご連絡ください。

$W3C: Overview.html,v 1.20 2003/08/27 08:29:00 mf Exp $

$Id: Overview.html,v 1.1 2003/09/25 07:21:09 wassy Exp $