XHTML: diferenzas sintácticas e estruturais con HTML

De Manuais Informática - IES San Clemente.
Revisión del 02:56 3 nov 2010 de Arribi (discusión | contribuciones)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ir a la navegación Ir a la búsqueda

As últimas versións das linguaxes HTML e XHTML son estándares do W3C. Ademais, XHTML está soportado en todos os navegadores e é compatible con HTML 4.01. Con todo, existen algunhas diferenzas sintácticas e estruturais entre eles que paga a pena comentar.

Diferenzas sintácticas

Cando se fala de diferenzas sintácticas entre HTML e XHTML referímonos a que regras de sintaxe existen nunha linguaxe que non existen na outra. Por exemplo, en XHTML todas as etiquetas deben ir en minúsculas, pero en HTML isto non é estritamente necesario. En calquera caso, sintacticamente, XHTML 1.0 é practicamente igual que HTML 4.01 (sempre que estea ben formado e se valide contra o DTD). As principais diferenzas son:

  • Os elementos XHTML deben estar correctamente aniñados. En HTML non.
  • Os elementos XHTML deben pecharse sempre. En HTML non.
  • Os elementos e os atributos XHTML deben ir en minúsculas. En HTML non. Recorda que XML distingue entre maiúsculas e minúsculas.
  • Os valores dos atributos deben ir sempre entrecomiñados. En HTML non.
  • Os valores de pares atributo=valor iguais non poden simplificarse, por exemplo <dl compact='compact'> non se pode expresar como <dl compact>. En HTML si.

Se te fixas a meirande parte das diferenzas teñen que ver coas regras de sintaxe dun documento XML xa vistas na unidade I.

Diferenzas estruturais

As diferenzas estruturais refírense a que elementos da estrutura dun documento XHTML non teñen por que existir nun documento HTML. Estruturalmente XHTML é HTML definido como unha aplicación de XML, motivo polo que, falando de xeito xeral, XHTML pode considerarse unha linguaxe máis estrita e clara que HTML. Realmente, isto é certo para as versións de HTML anteriores á 4.0, xa que se validamos un documento HTML 4.01 contra un DTD estrito e ese documento está ben formado, teremos un documento XHTML válido. As principais diferenzas estruturais son:

  • Nos documentos XHTML a declaración <!DOCTYPE> é obrigatoria. Nos documentos HTML non, agás que se queira validar contra un DTD, é dicir, un documento HTML pode non estar ben formado ou incluso non ser válido.
  • Os documentos XHTML deben ter un elemento raíz. Os HTML non. De feito, nun documento XHTML deben existir obrigatoriamente as etiquetas <html>, <head>, <title> e <body>.
  • O atributo xmlns da etiqueta <html> é obrigatorio e especifica o espazo de nomes xml para un documento XHTML. En HTML non é necesario.

O W3C dispón dunha interesante FAQ na que se respostan ás principais dúbidas sobre as diferenzas entre estas dúas linguaxes de marcado.

--Arribi 00:45 3 nov 2010 (GMT)