|
|
|
|
Debian Última actualización | stable: 04/05/2013
testing: 20/05/2013
unstable: 20/05/2013
|
|
|
|
|
|
|
|
MathML 2.0 y Mozilla
(7219 lecturas)
Por Ruben
nahoo
()
Creado el 01/08/2005 15:01 modificado el 01/08/2005 15:01
|
Muchos diseñadores de páginas web siguen usando MathML con HTML, sin preocuparse de qué pasa con sus páginas web más allá de Inernet Explorer. En el siguiente artículo trataré de describir qué es XHTML, cuáles son sus ventajas he inconvenientes respecto al HTML tradicional, incluir una mini guía de migración de HTML a XHTML, explicar cómo incluir MathML para que se visualice correctamente en ambos navegadores, y al final mostraré una pequeña página de ejemplo. | Pagina1/1 |
Debido a que no es posible incluir xhtml en linuca esté artículo es una versión «recortada» del que se puede leer aquí.
Introducción
MathML
2.0 es una recomendación del W3C
que permite la inclusión de una forma uniforme de
símbolos y fórmulas matemáticas en
páginas web1.
Si bien es cierto
que Mozilla
tiene soporte para parte del estándar desde hace tiempo2,
muchas de las páginas que existen en Internet que usan
MathML
no se visualizan correctamente con este navegador.
En cambio, Internet Explorer no tiene soporte alguno para MathML,
siendo necesario instalar programas de terceros, uno de los
más conocidos es MathPlayer.
El problema radica en que mozilla sigue muy de cerca los
estándares del W3C y para interpretar correctamente el
código MathML necesita que éste esté
dentro de una página en formato XHTML, lo que es bastante
lógico si tenemos en cuenta que tanto XHTML como MathML son
XML (no
así HTML). En cambio Mathplayer (y probablemente otros
programas) soporta el
uso de MathML tanto dentro de XHTML como dentro de HTML3.Como consecuencia de esto, muchos diseñadores de
páginas web siguen usando MathML con HTML, sin preocuparse
de qué pasa con sus páginas web más
allá de Internet Explorer. En el siguiente
artículo trataré de describir qué es
XHTML, cuáles son sus ventajas he inconvenientes respecto al
HTML tradicional, incluir una mini guía de
migración de HTML a XHTML, explicar cómo incluir
MathML para que se visualice correctamente en ambos
navegadores, y al final mostraré una pequeña
página de ejemplo.
Qué es XHTML, comparativa con HTML
Para el W3C
XHTML es
la evolución de HTML,
y es la esperanza de solventar el caos
actual que existe en Internet, con un montón de
páginas que usan sintaxis propietarias de algunos
navegadores o que simplemente están mal escritas. XHTML
está basado en XML, así elimina parte de la
complejidad existente en HTML reteniendo el poder expresivo.
Ventajas de XHTML:
- La rigidez de XHTML ayuda a que el código sea
coherente, bien estructurado, y sin etiquetas que no se ajusten al
estándar, lo que a la larga facilita la
aplicación de formato mediante CSS.
- XHTML es un paso lógico en la
transición de HTML a XML, usa las etiquetas tradicionales de
HTML pero con la sintaxis moderna de XML.
- Insistencia en los estándares, lo que hace
más probable que se soporte de forma coherente en varios
navegadores y en varias plataformas en un futuro.
Desventajas de XHTML:
- Hay pocos editores de ayuda que escriban correctamente
XHTML.
- La rigidez de XHTML puede ser una desventaja (según como se mire),
si una página está hecha usando xhtml y contiene algún error,
simplemente no se mostrará en el navegador. En cambio con html si hay errores el navegador tendrá que apañárselas como pueda. Esto hace que el autor tenga que poner más cuidado al hacer la página, pero a cambio los navegadores serán muchos más fáciles de implementar y más rápidos.
Cambios de sintaxis significativos entre HTML y XHTML
A continuación se muestran los cambios más
significativos que hay que realizar para pasar de HTML a XHTML:
- Las etiquetas XHTML tienen que ir en
minúsculas.
|
HTML
|
XHTML
|
|
<H1
Align="CENTER">Título</H1>
|
<h1
align="center">Título</h1>
|
- Todos los elementos no vacíos deben de
terminarse.
|
HTML
|
XHTML
|
<p>Lista <ul> <li>Uno <li>Dos </ul>
|
<p>Lista
<ul>
<li>Uno</li>
<li>Dos</li>
</ul>
</p>
|
- Los elementos vacío deben terminar con
una barra
inclinada (/). El espacio antes de la barra inclinada no es
obligatorio, pero hace que los navegadores que no interpretan XHTML lo
interpreten como HTML mal formado, en vez de no interpretarlo en
absoluto.
|
HTML
|
XHTML
|
|
<img
src="imagen.png">
<br>
<hr>
|
<img
src="imagen.png" />
<br
/>
<hr
/>
|
- Todos los atributos deben ir entrecomillados.
|
HTML
|
XHTML
|
|
<table
border=0>
|
<table
border="0">
|
- No es posible abreviar los atributos.
|
HTML
|
XHTML
|
|
<td
nowrap>
|
<td
nowrap="nowrap">
|
- Cambia la forma de hacer referencia a hojas de estilo
externas
|
HTML
|
XHTML
|
|
<link
rel="STYLESHEET"
href="glos.css" type="text/css">
|
<style>@import
url("glos.css");</style>
|
Cómo incluir MathML en los documentos XHTML
Los fragmentos de código mathML deben ir entre las etiquetas
<math></math>. El principal
atributo de la etiqueta <math> es "display", tiene dos
posibles valores:
- display="inline":
La fórmula se muestra en el
mismo párrafo que el texto.
- display="block":
Es el valor predeterminado. La fórmula se muestra en un
bloque aparte.
Además hay que incluir el espacio de nombres apropiado, lo
más sencillo es hacer una referencia al espacio definido en
la declaración DOTYPE del documento:
<math display="inline"
xmlns="&mathml;"><mi>Π</mi></math>
Aunque es posible escribir el código mathML con cualquier
editor, la notación hace que sea necesario escribir mucho
para conseguir fórmulas relativamente sencillas, por eso es
habitual usar programas
que elaboren el código MathML por
nosotros4.
Página de ejemplo
<?xml
version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML
2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"
[
<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Prueba</title>
</head>
<body>
<math
display="inline" xmlns="&mathml;">
<semantics>
<mrow>
<msup>
<mi>x</mi>
<mn>2</mn>
</msup>
<mo>−</mo><msup>
<mi>y</mi>
<mn>2</mn>
</msup>
<mo>=</mo><mn>1</mn>
</mrow>
</semantics>
</math>
</body>
</html>
Otros aspectos a tener en cuenta con Mozilla y las
fórmulas matemáticas
- Puede ser necesario instalar tipos
de letra adicionales
- No se debe usar el tipo de letra Symbol para mostrar
caracteres especiales, en su lugar es mejor usar MathML. Si
aún así es necesario ver alguna página
que usa este método para sus fórmulas puede ser de
interés la siguiente
información
[1] También se puede
usar en otro tipo de documentos, como Docbook.
[2] Concretamente para las
etiquetas de presentación.
[3] Las versiones anteriores de
Mathplayer anteriores a la 2.0 sólo soportaban MathML dentro
de HTML, siendo necesario usar una hoja de estilo especial para
mantener la compatibilidad entre navegadores.
[4] Otra posibilidad es usar la
conversión desde LaTeX
a MathML
|
|
|
|
| Comentarios | 1. Re: MathML 2.0 y Mozilla (02/08/2005 16:39, #3796) Por: aleixpol (http://kalgebra.sourceforge.net) |
He estado trabajando recientemente en un proyecto basado en MathML (KAlgebra) y he estado usando khtml para mostrar el Presentation Markup puesto que no existe ningún CSS que represente Content Markup. Con Gecko lo habría tenido mucho más fácil.
No sé porqué dices que el soporte de MathML en mozilla (gecko) es insuficiente, creo que pasa todos los test del W3C. A ver cuando vemos Konqueror representando MathML :)...
Saludos!
PD: Como estandar, creo que a MathML le falta aun unos cuantos días... | |
2. Re: MathML 2.0 y Mozilla (02/08/2005 20:46, #3797) Por: nahoo |
> No sé porqué dices que el soporte de MathML en mozilla
> (gecko) es insuficiente
Es lo que he leído aquí y aquí. Por otro lado algunos de los test del W3C no se ven correctamente. | |
|
|
|
|
|
|
| Tira ECOL |
|
|
|
|
|
|