Son necesarios dos pasos para convertir un documento HTML en un documento XHTML v�lido.
- En primer lugar hemos de asegurarnos que est� bien formado.
- Y en segundo lugar ver que es v�lido respecto de alguna de las tres DTD que conforman el XHTML.
�Convirtiendo nuestro HTML en un documento XML bien formado
Simplemente tenemos que ir aplicando sobre el documento las reglas de buena formaci�n del XML y eso lo podemos hacer utilizando las reglas que hemos definido en el apartado anterior.
Para ello, vamos a usar el siguiente ejemplo:
<html> <script language="Javascript"> function Hola(){ alert ("Hola"); } </script> <body> <h1>P�gina HTML que convertiremos en XHTML</h1> <p>Esto es un p�rrafo con una texto en <b>negrita <i> y</B> cursiva </i>. <p>Esto es un p�rrafo en el que coloco un salto de linea. <br> Y ahora continuamos aqui.</p> <P align=center>Esto es texto centrado</P> <ul> <li>Esto es una lista con un enlace a una funci�n de <a href="javascript:Hola()">javascript</a></li> <li>Esto es otra lista con una imagen <img src="lapiz.gif"> <li><font size="4" color=red>Este es otro elemento de la lista con otro color y tama�o de fuente mayor.</font> </ul> <p>Y para terminar un formular�o</p> <form> <input type="checkbox" checked>Opcion 1 <input type="checkbox">Opci�n 2 </form> </body> </html>
Al que no tenemos m�s que aplicarle las reglas de las que hemos hablado en el apartado anterior. Lo mejor es empezar por poner todas las etiquetas en min�sculas, y luego dedicarnos a comprobar que todas las etiquetas se cierren correctamente, a entrecomillar los atributos, etc. Como ya hemos dicho en alguna ocasi�n, el navegador IE5 es una estupenda herramienta para comprobar que un documento XML est� bien formado, por ello igual es recomendabe convertir este documento HTML en un documento XML: a�adir cabecera XML, etc e ir validando los cambios que vayamos haciendo en el IE5.
Una vez realizados todos estos cambios y que hayamos conseguido verlos en el IE5 o validarlos respecto de un parser de XML, el documento HTML anterior quedar�a de la siguiente manera:
<?xml version="1.0" encoding="ISO-8859-1"?> <html> <script language="Javascript" src="hola.js"></script> <body> <h1>P�gina HTML que convertiremos en XHTML</h1> <p>Esto es un p�rrafo con una texto en <b>negrita </b> y <i>cursiva </i>.</p> <p>Esto es un p�rrafo en el que coloco un salto de linea. <br /> Y ahora continuamos aqui.</p> <p align="center">Esto es texto centrado</p> <ul> <li>Esto es una lista con un enlace a una funci�n de <a href="javascript:Hola()">javascript</a></li> <li>Esto es otra lista con una imagen <img src="lapiz.gif" /></li> <li><font size="4" color="red">Este es otro elemento de la lista con otro color y tama�o de fuente mayor.</font></li> </ul> <p>Y para terminar un formular�o</p> <form> <input type="checkbox" checked="checked" />Opci�n 1 <input type="checkbox" />Opci�n 2 </form> </body> </html>
Observar como el c�digo que iba dentro de la etiqueta script lo hemos colocado en un fichero externo hola.js. En este caso no hubiera sido necesario ya que no tiene ning�n car�cter que d� problemas, pero es recomendable acostumbrarnos a trabajar de esta manera.
�Comprobar que el documento XHTML es v�lido
El siguiente paso es comprobar que se ajusta a alguna de las DTD que conforman el XHTML. En nuestro caso, al no utilizar CSS y darle el aspecto mediante etiquetas, tenemos que comprobar que se ajusta a la transitional.dtd.
Para ello no tenemos m�s que colocar en la cabecera del documento la declaraci�n de tipo de documento:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
Y al validar,lo primero que observamos es la obligatoriedad que exista el elemento head.
<!ELEMENT html (head, body)>
Y dentro de este,el elemento title
A continuaci�n observamos c�mo se queja que el elemento script debe utilizar de forma obligatoria el atributo type:
<!ATTLIST script charset %Charset; #IMPLIED type %ContentType; #REQUIRED
Donde debemos indicar de qu� tipo es el contenido de la etiqueta script en nuestro caso text/javascript.
Y as� sucesivamente vamos solucionando todos los problemas que nos d� el validador, hasta que obtengamos el siguiente documento XHTML v�lido:
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd"> <html> <head> <title>Ejemplo de documento HTML convertido a XHTML</title> <script type="text/javascript" language="Javascript" src="hola.js"></script> </head> <body> <h1>P�gina HTML que convertiremos en XHTML</h1> <p>Esto es un p�rrafo con una texto en <b>negrita </b> y <i>cursiva </i>.</p> <p>Esto es un p�rrafo en el que coloco un salto de linea. <br /> Y ahora continuamos aqui.</p> <p align="center">Esto es texto centrado</p> <ul> <li>Esto es una lista con un enlace a una funci�n de <a href="javascript:Hola()">javascript</a></li> <li>Esto es otra lista con una imagen <img src="lapiz.gif" alt="Imagen de un lapiz" /></li> <li><font size="4" color="red">Este es otro elemento de la lista con otro color y tama�o de fuente mayor.</font></li> </ul> <p>Y para terminar un formular�o</p> <form action="accion_asociada"> <input type="checkbox" checked="checked" />Opcion 1 <input type="checkbox" />Opci�n 2 </form> </body> </html>
Tambi�n tenemos la posibilidad de validar nuestro c�digo en Internet desde el validador que el W3C tiene en http://validator.w3.org/

�Resumiendo
Por lo que hemos visto, no resulta muy complicado convertir un documento HTML a un documento XHTML v�lido. Depende esencialmente de lo mal que tengamos nuestro documento HTML. Si corregimos nuestros malos h�bitos en el momento de codificar HTML, es decir,no nos olvidamos de entrecomillar todos los atributos, cerramos todas las etiquetas, las anidamos correctamente, mantenemos la estructura esencial de la p�gina, etc., y lo escribimos todo en min�sculas, la conversi�n de HTML a XHTML tendr�a que ser pr�cticamente inmediata.