XHTML: diferenzas sintácticas e estruturais con HTML
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)