A pesar de llevar años publicando artículos en el blog compartiendo con todos vosotros mis impresiones y preferencias, creo que aun no os he comentado que soy un enamorado de xml y tecnologías «aledañas»: xslt, xpath, schemas, …
Aunque JSON ha ido adquiriendo adeptos durante todo este tiempo (me cuento entre ellos), sigo utilizando ficheros xml cada vez que puedo por tratarse de un lenguaje lo suficientemente sencillo, potente y flexible como para modelar los datos de aplicaciones y procesos con los que suelo «jugar».
En Linux sigo añorando un editor, tipo XmlSpy de Altova (wine no es una opción que contemple y/o aplauda), que me facilite el trabajo con este tipo de archivos (he evaluado varios y no han terminado de convencerme, ¿alguien me recomienda uno que se parezca a Xml Spy? :)) por lo que siempre termino utilizando GEdit cuando, de crear o editar un xml se trata.
Necesitaba una modo rápido de formatear el contenido de un fichero xml y, tras comprobar que no existía ningún «xml prettyprinter» para GEdit he optado por creármelo yo mismo gracias a las herramientas externas del editor de textos. Aquí os cuento cómo hacerlo por si alguno lo necesita y/o quiere repasar cómo utilizar herramientas del sistema desde gedit (ya vimos cómo hacerlo, puedes consultarlo en el enlace).
Formatear xml en linux
Por fortuna existe el comando xmllint en linux; en Archlinux se encuentra en el paquete libxml2 (para otras distribuciones puedes consultar aquí dónde encontrarlo)
Lo instalamos lanzando un
pacman -S libxml2
su uso es realmente sencillo y ha sido cubierto en infinidad de artículos; especialmente, me agrada el siguiente post donde explican cómo formatear un xml desde la línea de comandos.
En principio bastaría con lanzar un
xmllint --format xml_file.xml
Formatear xml en GEdit
Crearemos una nueva herramienta externa (para saber cómo hacerlo podeís mirar el siguiente artículo donde explico cómo ejecutar comandos desde GEdit) utilizando cómo código del script
#!/bin/sh xmllint --format $GEDIT_CURRENT_DOCUMENT_PATH;
y la siguiente configuración de la herramienta
A partir de ahora no tendréis más que pulsar la combinación de teclas que defináis (en el ejemplo SHIFT+ALT+F) para que un fichero xml como este
quede perfectamente formateado (indentando las etiquetas correctamente) del siguiente modo
Conclusión
Nuevo ejemplo práctico de la utilidad que tiene la opción de ejecutar herramientas externas desde GEdit.
Con muy poco esfuerzo podemos hacer que nuestro querido editor de textos formatee sin problemas cualquier fichero xml cuyo contenido nos esté costando visualizar (y entender).
Dejo en el aire la siguiente pregunta: ¿alguien conoce y/o utiliza algún editor de xml opensource que pueda ser parecido (aunque sea en la funcionalidad básica) a XMLSpy de Altova?
Seguiré pendiente de las sugerencias.
Me gustaMe gusta
Ojalá sean muchas y nos sirvan a todos para aprender 🙂
Me gustaMe gusta