El World Wide Web Consortium (W3C) dispone de una serie de herramientas gratuitas para ayudar a generar y procesar correctamente los archivos HTML y XML. El paquete HTML-XML es un conjunto de utilidades sencillas para manipular archivos HTML y XML desde la línea de comandos. Está disponible para muchas de las diferentes distribuciones de Linux y puede ser útil para aquellos que tienen que procesar archivos HTML o XML de forma regular.
Para instalar el paquete en Ubuntu, use:
sudo apt-get install html-xml-utils
Hay 31 herramientas en este paquete, aquí está un resumen de lo que pueden hacer:
- cexport – crea un archivo de cabecera de las declaraciones exportadas desde un archivo C
- hxaddid – añade ID’s a los elementos seleccionados
- hxcite- reemplazar las referencias bibliográficas por hipervínculos
- hxcite-mkbib- ampliar referencias y crear bibliografía
- hxcopy- copiar un archivo HTML conservando los enlaces relativos
- hxcount – cuenta elementos y atributos en archivos HTML o XML
- hxextract – extrae los elementos seleccionados
- hxclean – aplicar heurística para corregir un archivo HTML
- hxprune – remueve los elementos marcados de un archivo HTML
- hxincl- expandir los archivos HTML o XML incluidos
- hxindex – crea un índice ordenado alfabéticamente
- hxmkbib – crear bibliografía a partir de una plantilla
- hxmultitoc- crear una tabla de contenidos para un conjunto de archivos HTML
- hxname2id- mover algunos ID= o NAME= de los elementos A a sus padres
- hxnormalize – pretty-print un archivo HTML
- hxnum – número de encabezados de sección en un archivo HTML
- hxpipe- convertir XML a un formato más fácil de analizar con Perl o AWK
- hxprintlinks- number links & add table of URLs at end of an HTML file
- hxremove- remueve elementos seleccionados de un archivo XML
- hxtabletrans- transponer una tabla HTML o XHTML
- hxtoc – inserta una tabla de contenidos en un archivo HTML
- hxuncdata – reemplazar secciones CDATA por entidades de caracteres
- hxunent – reemplaza entidades de caracteres predefinidos HTML por UTF-8
- hxunpipe- convertir la salida de pipe back al formato XML
-
hxun>/»font color=»#fefefe»>font color=»#fefefe»>font color=»#fefefe «#fefefe «#fefefe
EOF__Esto creará un archivo llamado test.html. El HTML pierde algunas de las etiquetas de cierre y está todo escrito en una sola línea. El comando hxnormalize reformateará el archivo y escribirá la versión bonita en la salida estándar (stdout). Así es como se ejecuta el comando:
hxnormalize -e test.html
La bandera «-e» indica a hxnormalize que inserte cualquier etiqueta de cierre que falte.
También puede ejecutar el comando contra una página web reemplazando «test.html» por una URL, por ejemplo:
hxnormalize http://www.example.com
El comando hxwls analizará un archivo HTML local o un sitio web, y listará los enlaces dentro del HTML. Por ejemplo:
hxwls http://www.example.com
Aquí están las primeras líneas de salida para el sitio web de Make Tech Easier:
El comando hxtabletrans cambia una tabla para que las filas se conviertan en columnas y las columnas en filas.
Vamos a crear un archivo HTML con una tabla simple. Seleccione y copie las siguientes líneas y péguelas directamente en una ventana de terminal.
Jill /fefefe»>>#fefefe
Smith
50 50
DIFUNDE LA PALABRA-
Jackson
94 /fefefe»>/fefefe»>/fefefe»>
EOF__El resultado es un archivo llamado table.html. En un navegador web la tabla se vería algo así:
JillSmith50EveJackson94
Si ejecuta el comando hxtabletrans, entonces escribirá la tabla transpuesta a la salida estándar. Los resultados pueden ser redirigidos a otro archivo como este:
hxtabletrans table.html> table2.html
El nuevo archivo, table2.html, mostrará a Jill Smith y Eve Jackson en columnas, en lugar de en filas como en el original. La tabla resultante será algo así:
JillEveSmithJackson5094
La mayoría de los comandos se utilizan de forma similar a los ejemplos anteriores, es decir, es necesario especificar un archivo o URL para procesar y la salida se escribe en el stdout. Pruebe a experimentar con los diferentes comandos, ya que pueden serle útiles.
Si tiene alguna pregunta sobre las utilidades HTML-XML, no dude en hacerla en los comentarios que aparecen a continuación y veremos si podemos ayudarle.