--- title: slug: Web/MathML/Element/semantics tags: - MathML - 'MathML:Element' - Referência de MathML translation_of: Web/MathML/Element/semantics ---
{{MathMLRef}}

Em MathML há duas formas de marcar a matemática: A Presentation MathML  (MathML de apresentação) é utilizada para controlar a apresentação das equações, enquanto o Content MathML (MathML de conteúdo) foi concebida para codificar o significado matemático semântico e para tornar as expressões compreensíveis para os sistemas de álgebra computacionais. Os elementos MathML <semantics>, <annotation> e <annotation-xml> são utilizados para combinar a apresentação e a marcação do conteúdo e para fornecer ambas, a informação de disposição e o significado semântico das expressões matemáticas.

O elemento <semantics> atua como um elemento contentor que associa anotações e então deve ter elementos (senão levanta um erro de marcação inválido). O elemento <annotation> é o elemento contentor que contem informação semântica num formato não XML, enquanto o elemento <annotation-xml> contém conteúdo num formato XML, por exemplo, Content MathML ou OpenMath.

As regras para determinar o elemento filho visível no elemento <semantics> são as seguintes:

Atributos

Os seguintes atributos podem ser adicionados aos elementos <annotation> e <annotation-xml>:

definitionURL
A localização do símbolo da chave da anotação.
encoding
A codificação da informação semântica na anotação (e.g. "MathML-Content", "MathML-Presentation", "application/openmath+xml", "image/png")
cd
O dicionário que ontem o símbolo da chave da anotação.
name
O nome do símbolo da chave da anotação.
src
A localização de uma fonte externa de informação semântica.

Exemplo

<math>
  <semantics>

    <!-- Presentation MathML -->
    <mrow>
      <msup>
        <mi>x</mi>
        <mn>2</mn>
      </msup>
      <mo>+</mo>
      <mi>y</mi>
    </mrow>

    <!-- Content MathML -->
    <annotation-xml encoding="MathML-Content">
      <apply>
        <plus/>
        <apply>
          <power/>
          <ci>x</ci>
          <cn type="integer">2</cn>
        </apply>
        <ci>y</ci>
      </apply>
    </annotation-xml>

    <!-- anotar uma imagem -->
    <annotation encoding="image/png" src="some/path/formula.png"/>

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

  </semantics>
</math>

Especificações

Especificação Estado Comentário
{{ SpecName('MathML3', 'chapter5.html', 'Mixing Markup Languages for Mathematical Expressions') }} {{ Spec2('MathML3') }} Especificação atual
{{ SpecName('MathML2', 'chapter5.html', 'Combining Presentation and Content Markup ') }} {{ Spec2('MathML2') }} Especificação inicial

Compatibilidade

{{Compat("mathml.elements.semantics")}}

Notas para Gecko