Historia y Versiones HTML

martes, 23 de marzo de 2010

Haciendo un poco de historia sobre html, como a modo de cultura general te invito a leer el siguiente articulo, ya que hay buenos programadores en html, sin embargo cuando se chocan con verdaderos gurus de la programacion y les hablan de sus versiones, quedan en el mas completo ridiculo.Y tambien para evitarse problemas de todo tipo (cada navegador les muestra la página como quiere)..



¿Cómo?, ¿que hay versiones?

Por supuesto, si hay versiones. Se hizo estándar en 1995, y desde entonces las cosas han cambiado (aunque el lenguaje no se ha modificado mucho).

En cada página que hagas, tendrás que decirle al navegador qué versión de HTML estás usando (no puede detectarlo). Eso se hace con la primera línea, la del !DOCTYPE. Luego lo veremos con mas detenimiento

HTML

Los estándares HTML son el HTML 2.0, el HTML 3.2, el HTML 4.0 y el HTML 4.01. La verdad, no creo que se hagan más, porque el HTML ya está anticuado (comparado con XHTML).

Todos son comprendidos por los navegadores actuales, pero el que debes usar es el HTML 4.01. Aún se puede usar sin problemas el HTML 3.2, pero le falta alguna etiqueta interesante ya que en esos tiempos es cuando empezaron a introducir la filosofía CSS.

Además, cada versión tiene variantes. Tienes que elegir una. Por ejemplo, el HTML 4.01 tiene tres:

  • HTML 4.01 Strict: el normal. Puedes usar las etiquetas de HTML 4.01 y ya está.
  • HTML 4.01 Transitional: una mezcla de todos los HTML, en la que se aceptan las etiquetas obsoletas. Se llama Transitional porque está pensado para los que no se atreven a usar el Strict, pero les gustaría en el futuro. En mi opinión no va bien usarlo, es un lío tener tantas formas distintas de hacer la misma cosa (unas buenas y otras malas).
  • HTML 4.01 Frameset: lo del Transitional, y soporte para frames. Anticuado, como los frames.

XHTML

HTML está anticuado. Sus normas son muy poco estrictas, y eso da muchos problemas: mucha gente escribe el código "a medias" (por ejemplo, abre etiquetas y no las cierra), y dejan que sea el navegador el que "arregle" la página. Por eso un navegador web es muy complicado y suele tener problemas de compatibilidad.

XHTML trae las ventajas del XML, que son muchas. Las conocidas son que los nombres de etiquetas van en minúsculas, que hay que cerrar todas las que se abren (y sin anidarse), y que los atributos van entre comillas.

Pero yo quiero destacar otras dos ventajas muy importantes del XHTML:

  • Si un programa o navegador que está analizando el XHTML encuentra XML mal formado (erróneo), está obligado a parar y decir que es incorrecto. Eso simplifica enormemente el código de un navegador web, y hace que en Internet sólo pueda existir el código XHTML bien escrito, compatible con todos los analizadores de XML. (Aunque eso no asegura que las etiquetas estén bien usadas).
  • Los navegadores XHTML viejos no fallarán cuando se use un XHTML lleno de etiquetas nuevas, porque en XML las etiquetas desconocidas o que no hacen falta se ignoran junto con su contenido. No hay que hacer trucos como lo de comentar el código JavaScript para que no se muestre en navegadores HTML antiguos.

XHTML tiene que sustituir a HTML en los próximos años, y ya lo está haciendo. Las páginas tienen extensión .xhtml y el servidor web tiene que estar configurado para servirlas como application/xhtml+xml (no como text/html).

XSL

XSL permite que el navegador (o el servidor) transforme los documentos XML y haga cosas como ordenar una tabla, o hacer búsquedas, o bucles, cosas que no pueden hacerse con HTML ni XHTML. Lo malo es que necesita que el navegador lo soporte, pero muchos navegadores ya lo hacen.

XSL consta de los estándares XSLT, XPath y XSL-FO.

¿Cuál elijo, y cómo?

Si ya sabías HTML pero nunca has hecho todo eso de separar contenido y diseño, o todos estos estándares te suenan a chino, usa el HTML normal, en concreto la versión 4.01, que es la última. Elige la rama Strict directamente si te gusta el tema, o el 4.01 Transitional si te cuesta entenderlo.

El XHTML es para los que entienden qué es lo del XML, tienen otros programas que trabajan con datos de la web, o simplemente les gustan mucho los estándares.

Para decir qué lenguaje se utiliza, hay que poner una línea al principio de la página. No es una etiqueta, por tanto es algo rara y no hay que cerrarla ni ponerla en minúsculas. Eso sí, hay que ponerla.

Para HTML 4.01 Strict (recomendado):


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">


Para HTML 4.01 Transitional:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">




0 comentarios: