quarta-feira, 6 de julho de 2016

MathML

Precisa expressar alguma função matemática? Conhece o MathXML?

Pois é, acabei esbarrando por acaso nesta notação e gostei bastante do resultado. Como temos muitos professores que utilizam Genexus, vamos dar uma palhinha neste assunto.

O que é?

O MathML é uma linguagem de notação que resulta em uma imagem que normalmente é utilizada para produzir uma expressão matemática. De maneira geral,

A organização que está apoiando a iniciativa é o W3C, ISO, ou seja, é um assunto sério. Ver:


Esta linguagem é dependente dos navegadores que devem implementar a interpretação das definições da especificação.

Como usar em Genexus

Será necessário produzir um conteúdo HTML para apresentar a fórmula matemática, uma forma de fazer isso em Genexus é incluir no Caption de um Textblock.  Utilizamos uma variável &expressao do tipo Character(100) para criar a expressão.

Event Start
 &expressao   = '  <math xmlns="http://www.w3.org/1998/Math/MathML">'
 &expressao  += '    <mrow>'
 &expressao  += '      <mi>a</mi>'
 &expressao  += '     <mo>⁢</mo>'
 &expressao  += '      <msup>'
 &expressao  += '        <mi>x</mi>'
 &expressao  += '        <mn>2</mn>'
 &expressao  += '      </msup>'
 &expressao  += '      <mo>+</mo>'
 &expressao  += '      <mi>b</mi>'
 &expressao  += '      <mo>⁢ </mo>'
 &expressao  += '      <mi>x</mi>'
 &expressao  += '      <mo>+</mo>'
 &expressao  += '      <mi>c</mi>'
 &expressao  += '    </mrow>'
 &expressao  += '  </math>'
 textblock1.Caption = &expressao
Endevent


O resultado é interessante.



Atenção! nem todos os navegadores dão suporte ao recurso, o recém lançado Vivaldi, por exemplo, não consegue interpretar a coisa ainda.