Diferencias entre HTML y XHTML
La siguiente lista muestra algunas reglas de XHTML 1.0 que lo diferencian de HTML 4.01. Muchas de estas diferencias vienen con el cambio de ser una aplicación SGML a ser una aplicación del más estricto XML:
Los elementos vacíos deben cerrarse siempre:
Incorrecto:<br>
Correcto: <br></br> o <br/> o <br />
Nota: Cualquiera de las tres formas es válida en XHTML. Para compatibilidad según el “Apéndice C” debe usarse <br />.
Los elementos no vacíos también deben cerrarse siempre:
Incorrecto: <p>Primer párrafo<p>Segundo párrafo
Correcto: <p>Primer párrafo</p><p>Segundo párrafo</p>
Los elementos anidados deben tener un correcto orden de apertura/cierre (el que se abre último, debe cerrarse primero).
Incorrecto: <em><strong>Texto</em></strong>
Correcto: <em><strong>Texto</strong></em>
Los valores de los atributos deben siempre ir encerrados entre comillas (simples o dobles).
Incorrecto: <td rowspan=3>
Correcto: <td rowspan=”3″>
Correcto: <td rowspan=’3′>
Los nombres de elementos y atributos deben ir en minúsculas.
Incorrecto: <A HREF=”http://www.domname.com”>Domname</A>
Correcto: <a href=”http://www.domname.com”>Domname</a>
No está permitida la minimización de atributos (se usa el nombre del atributo como valor).
Incorrecto: <textarea readonly>Solo-lectura</textarea>
Correcto: <textarea readonly=”readonly”>Solo-lectura</textarea>
Los atributos desaprobados en HTML 4.01 no forman parte de XHTML.
Incorrecto: <font color=”#0000FF”>Blue text</font>
Correcto: <span style=”color: #0000FF;”>Blue text</span>