Cómo hacer buenas páginas web (volver al índice)

Versiones de HTML

Esto es importante. Mucha gente se lo olvida y les da problemas de todo tipo (cada navegador les muestra la página como quiere).

¿Cómo?, ¿que hay versiones?

Claro que 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 explico.

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:

Yo explicaré y usaré HTML 4.01 Strict, aunque XHTML me parece mucho mejor. Pero como es muy fácil pasar de HTML 4.01 Strict a XHTML 1.0 (casi no hay cambios), prefiero explicar el HTML. Aparte... es que no podría explicar muchas cosas sobre XHTML correcto, porque es muy fácil escribir XHTML correcto (sigue leyendo).

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:

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">

Para XHTML: tienes las declaraciones necesarias en la especificación XHTML del W3C.