<semantics>

Baseline 2023
Newly available

Since January 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Das <semantics> MathML Element verknüpft Anmerkungen mit einem MathML-Ausdruck, beispielsweise dessen Textquelle als leicht zu erlernende Markup-Sprache oder mathematische Bedeutung, die in einem speziellen XML Dialekt ausgedrückt wird. Typischerweise ist seine Struktur:

Standardmäßig wird nur das erste Kind des <semantics>-Elements gerendert, während die anderen ihre display Einstellung auf none haben.

css
semantics > :not(:first-child) {
  display: none;
}

Hinweis: Frühere MathML-Spezifikationen erlaubten es den Renderern, die Standarddarstellung basierend auf verfügbaren Anmerkungen zu bestimmen. Die folgenden Regeln zur Bestimmung des sichtbaren Kindes wurden in einigen Browsern implementiert. Siehe MathML 4 für die Unterscheidung zwischen Präsentations-MathML und Inhalts-MathML.

  • Wenn keine anderen Regeln zutreffen: Standardmäßig wird nur das erste Kind gerendert, welches ein Präsentations-MathML sein soll.
  • Wenn das erste Kind ein Präsentations-MathML-Element, ein anderes als <annotation> oder <annotation-xml>, ist, rendere das erste Kind.
  • Wenn kein Präsentations-MathML gefunden wird, rendere das erste <annotation> oder <annotation-xml> Kind des <semantics> ohne ein src Attribut. Für <annotation-xml> Elemente muss das encoding Attribut einen der folgenden Werte haben:
    • "application/mathml-presentation+xml"
    • "MathML-Presentation"
    • "SVG1.1"
    • "text/html"
    • "image/svg+xml"
    • "application/xml"

Beachten Sie, dass "application/mathml+xml" hier nicht erwähnt wird, da es nicht zwischen Content- oder Presentation-MathML unterscheidet.

Attribute

Zu den Attributen dieses Elements gehören die globalen MathML-Attribute.

Beispiel

html
<math display="block">
  <semantics>
    <!-- The first child is the MathML expression rendered by default. -->
    <mrow>
      <msup>
        <mi>x</mi>
        <mn>2</mn>
      </msup>
      <mo>+</mo>
      <mi>y</mi>
    </mrow>

    <!--
      Annotate with content MathML, a dedicated XML dialect
      to express the meaning of mathematical formulas.
    -->
    <annotation-xml encoding="application/mathml-content+xml">
      <apply>
        <plus />
        <apply>
          <power />
          <ci>x</ci>
          <cn type="integer">2</cn>
        </apply>
        <ci>y</ci>
      </apply>
    </annotation-xml>

    <!--
      Annotate with LaTeX, a lightweight markup language
      to write mathematical formulas.
    -->
    <annotation encoding="application/x-tex">x^{2} + y</annotation>
  </semantics>
</math>

Technische Zusammenfassung

Spezifikationen

Specification
MathML Core
# semantics-and-presentation

Browser-Kompatibilität

BCD tables only load in the browser