MDN’s new design is in Beta! A sneak peek:


この翻訳は不完全です。英語から この記事を翻訳 してください。

MathML で数学をマークアップするには、2つの方法があります: プレゼンテーション MathML は、方程式のレイアウトを制御するために使用されるのに対して、コンテンツ MathML は、セマンティックな数学的意味をエンコードし、かつ数式処理システムに式を理解しやすくするように設計されます。MathML 要素 <semantics><annotation> および <annotation-xml> は、プレゼンテーションとコンテンツのマークアップを組み合わせて、レイアウト情報と数学的表現のセマンティックな意味を提供するために両方使用されます。

The <semantics> element acts as a container element associating annotations and must have child elements (it will raise an invalid markup error otherwise). The <annotation> element is the container element containing semantic information in a non-XML format, whereas the <annotation-xml> element contains content in an XML format, e.g. Content MathML or OpenMath.

The rules of determining the visible child in a <semantics> element are the following:

  • If no rule other rule applies: By default only the first child is rendered, which is supposed to be presentation markup.
  • If the first child is a presentation MathML element other than <annotation> or <annotation-xml>, render the first child.
  • If no Presentation MathML is found, render the first <annotation> or <annotation-xml> child element of <semantics>.
    Beware that <annotation-xml> elements are only recognized, if the encoding attribute is set to one of the following:
    • "application/mathml-presentation+xml"
    • "MathML-Presentation"
    • "SVG1.1"
    • "text/html"
    • "image/svg+xml"
    • "application/xml".
    Note that "application/mathml+xml" is not mentioned here as it does not distinguish between Content or Presentation MathML.


The following attributes can be set on <annotation> and <annotation-xml>:

The location of the annotation key symbol.
The encoding of the semantic information in the annotation (e.g. "MathML-Content", "MathML-Presentation", "application/openmath+xml", "image/png")
The content dictionary that contains the annotation key symbol.
The name of the annotation key symbol.
The location of an external source for semantic information.


    <!-- Presentation MathML -->

    <!-- Content MathML -->
    <annotation-xml encoding="MathML-Content">
          <cn type="integer">2</cn>

    <!-- annotate an image -->
    <annotation encoding="image/png" src="some/path/formula.png"/>

    <!-- annotate TeX -->
    <annotation encoding="application/x-tex">
      x^{2} + y 


仕様 状態 コメント
MathML 3.0
Mixing Markup Languages for Mathematical Expressions の定義
勧告 現在の仕様
MathML 2.0
Combining Presentation and Content Markup の定義
勧告 初期の仕様


機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート 未サポート 1.0 (1.7 or earlier) 未サポート 未サポート 未サポート
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート 未サポート 未サポート 1.0 (1.9.2) 未サポート 未サポート 未サポート

Gecko 固有の注記

  • The algorithm of determining the visible child in <semantics> has been corrected in (Firefox 23 / Thunderbird 23 / SeaMonkey 2.20) to match the MathML specification. In prior versions the first child element has been rendered.
  • In Gecko <annotation> and <annotation-xml> elements are ignored if the src attribute is set.


 このページの貢献者: momdo
 最終更新者: momdo,