miércoles, marzo 21, 2018

Formatear texto XML con Gedit en Linux

La siguiente es una forma sencilla de darle formato XML a un texto con el editor de texto Gedit que es el predeterminado de Ubuntu.

Lo logré con información de varios sitios pero en ninguno estaba el procedimiento completo.

Paso 1: instalar librería de de xml

Yo usé libxml2-utils pero hay otras opciones.
sudo apt update
sudo apt install libxml2-utils

Probamos si funciona ejecutando lo siguiente en terminal:
echo '<root><foo a="b">lorem</foo><bar value="ipsum"></bar></root>' | xmllint --format -

Debemos ver en pantalla el documento formateado.

Paso 2: activar plugin "External Tools"

En Gedit, vamos a Edit > Preferences > Plugins y activamos "External Tools".




Paso 3: crear la acción para formatear XML

En Gedit, vamos a Toos > Manage External Tools, agregamos una nueva acción con el signo "+" y completamos:
Nombre: Format XML
Código:
#!/bin/sh
echo $GEDIT_SELECTED_TEXT | xmllint --format - 

Output: Replace current selection

Probando

Para probar, creamos un documento nuevo, pegamos un XML como por ejemplo:
lorem

Seleccionamos el texto del XML y vamos a Tools > External Tools > Format XML. El texto debería ser reemplazado por un XML con formato.

Para terminar podemos ir a View > Highlight Mode, buscamos XML y ahora el XML estará coloreado.


Fuentes: