Índice
Anterior
Siguiente
Versión Imprimible
Autores
Índice
Capítulo 1

6. Convertir HTML en XHTML automáticamente

Instalación y funcionamiento de Tidy. Otras aplicaciones.

Es posible realizar la conversión de documentos HTML en XHTML de forma totalmente automática. Para ello deberemos utilizar una herramienta desarrollada por Dave Raggett denominada Tidy, que podemos obtener en el web del W3c.

Instalación y funcionamiento de Tidy.

Su instalación no tiene ningún inconveniente, ya que es un simple fichero .exe que no necesita ninguna instalación.

La ejecución se realiza desde la linea de comandos y debemos escribir:

tidy -f errores.txt fichero_entrada > fichero_salida

Con el parámetro -f indicamos el fichero donde se escribirán los errores del documento HTML. Para el documento HTML phtml.htm del apartado anterior escribiríamos:

tidy -f errores_phtml.txt phtml.htm > phtml_n.htm

Debemos observar que la salida no es XHTML, sino simplemente un documento html más correcto que el que nosotros habíamos escrito. Algunos errores son modificados por la aplicación y otros simplemente son indicados en el fichero de errores errores_phtml.txt para que nosotros los modifiquemos.

El Tidy dispone de un amplio número de parámetros que nos permiten parametrizar la salida de maneras muy diferentes. Para ver algunas de estas posibilidades no tenemos más que escribir:

tidy -h

y obtendremos:

Utility to clean up & pretty print html files
see http://www.w3.org/People/Raggett/tidy/
options for tidy released on 30th April 2000
  -config <file>  set options from config file
  -indent or -i   indent element content
  -omit   or -o   omit optional endtags
  -wrap 72        wrap text at column 72 (default is 68)
  -upper  or -u   force tags to upper case (default is lower)
  -clean  or -c   replace font, nobr & center tags by CSS
  -raw            leave chars > 128 unchanged upon output
  -ascii          use ASCII for output, Latin-1 for input
  -latin1         use Latin-1 for both input and output
  -iso2022        use ISO2022 for both input and output
  -utf8           use UTF-8 for both input and output
  -mac            use the Apple MacRoman character set
  -numeric or -n  output numeric rather than named entities
  -modify or -m   to modify original files
  -errors or -e   only show errors
  -quiet or -q    suppress nonessential output
  -f <file>       write errors to named <file>
  -xml            use this when input is wellformed xml
  -asxml          to convert html to wellformed xml
  -slides         to burst into slides on h2 elements
  -version or -v  show version
  -help   or -h   list command line options
Input/Output default to stdin/stdout respectively
Single letter options apart from -f may be combined
as in:  tidy -f errs.txt -imu foo.html
You can also use --blah for any config file option blah
For further info on HTML see http://www.w3.org/MarkUp

Hay que tener cuidado con la opción -m mediante la cual estamos indicando que los cambios se producen sobre el fichero original.

En la documentación de la aplicación se encuentran definidos con más detalle todos los parámetros que podemos utilizar. Entre ellos el parámetro --output-xhtml, mediante el cual indicamos que la salida sea XHTML.

Por tanto ,escribiendo:

tidy --output-xhtml yes --alt-text imagen phtml.htm > pxhtml_a.htm

Estamos convirtiendo el fichero phtml.htm en el fichero XHTML pxhtml_a.htm de forma automática, e incluso le estamos indicando que en las imágnes que no hemos puesto el atributo alt nos ponga por defecto el texto imagen.

NOTA: Observar que si validamos el fichero pxhtml.htm con nuestro parser de XML nos dará un error ya que en el elemento form no hemos indicado el atributo action que evidentemente hace falta. Si lo corregimos a mano tendremos un documento XHTML perfecto.

El Tidy es capaz de trabajar con un fichero de configuración,lo que nos permite no tener que reescribir los parámetros todas las veces que lo utilicemos. Este fichero de configuración se referencia mediante el parámetro: -config.

Por tanto, para el ejemplo anterior podríamos escribir el siguiente fichero tidyconf.txt

alt-text: imagen
output-xhtml: yes

Y ejecutando la aplicación de la siguiente manera obtendriamos los mismos resultados.

tidy -config tidyconf.txt phtml.htm > pxhtml_a.htm

Otras aplicaciones basadas en Tidy

La aplicación Tidy es cada vez más utilizada, en especial porque el uso del XHTML se está popularizando y la facilidad que nos ofrece para convertir nuestros documentos HTML en XHTML. Esto ha contribuido a que el número de aplicaciones que surgen alrededor de Tidy sea cada vez mayor. Esta es una pequeña lista de estas aplicaciones: