LINUCA
LINUCA - Asociación de Usuarios GNU/Linux en Cantabria
CONTENIDOS
. La Asociación
. ¡ Apúntate a socio !
. Fotos
. Los más leídos
. Autores [Actividad]
. Últimos Comentarios
. ¡Todos los titulares!
. Guía de Estilo
. Cómo publicar en Linuca
. Links cortos
. Lista de Correo
   [Mensajes antiguos]
   [Etiqueta en la Lista]
. Todas las Listas
. ¿Sugerencias?
. ¡Sindícanos!
Gràcies Bulma!
Esta página usa el código fuente de Bulma :-)
Busquedas

Ultimos kernels
(16/04/2014 06:22:17)
Debian
Última actualización
stable: 08/02/2014
testing: 15/04/2014
unstable: 15/04/2014
MathML 2.0 y Mozilla (7455 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>

  • El elemento <html> debe designar un espacio de nombres, por ejemplo:
    <html xmlns="http://www.w3.org/1999/xhtml">

  • Todos los documentos tienen que tener una declaración DOCTYPE
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd>
    <!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">]>
  • La diferencia entre Strict, Transitional y Frameset, está el conjunto de etiquetas permitidas, la versión estricta (Strict) no permite el uso de determinadas etiquetas desaprobadas o propietarias, la versión transitoria (Transitional) permite el uso de estas etiquetas, y finalmente la versión con marcos (Frameset) es como la transitoria pero permite el uso de marcos. La última declaración es el que usaremos para documentos que contengan MathML.

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:
  1. display="inline": La fórmula se muestra en el mismo párrafo que el texto.
  2. 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>&#x2212;</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

Imprimir
Version para
imprimir

Imprimir
Version
PDF
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.

 
Calificacion
**00
Votos: 2
SECCIONES
Artículo
Truco
Noticias
Breve
Enlace
Linuca
Libros
Tira ECOL
Tira Ecol
Modificado: 1/7/2009 16:49:13 | Tiempo Total: 0.003 segs | Kernel: Linux - x86_64 - 2.6.18-xen | Last Boot: 03/12/2010 01:21 CET
Powered By WEB-Bulma   Apache   Mysql   PHP   Gimp