Pretty printer de XML en Gedit

cómo editar ficheros xml en geditA 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

gedit prettyprinter plugin

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

cómo formatear un xml con gedit

quede perfectamente formateado (indentando las etiquetas correctamente) del siguiente modo

plugin xml para gedit

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?

3 comentarios en “Pretty printer de XML en Gedit

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s