jueves, julio 25, 2013

XML sin herramientas en Windows

Los ficheros XML se encuentran por todas partes por lo que no es raro tenerlos que manejar alguna vez. Y no siempre lo haremos desde nuestro equipo de desarrollo maravillo, super-configurado y super-vitaminado con las mejores herramientas del mercado). Por ello, ya sea para visualizar un XML cómodamente, bien formateado, o para modificar un XML sin que deje de ser válido, o para incluir un extracto XML dentro de un documento para un proyecto, me he permitido recopilar algunos trucos que nos puedan sacar del atolladero.

 Visualización de XML con navegadores
Cualquier navegador web es capaz de mostrar un fichero XML de forma cómoda. Basta con abrir el fichero con Internet Explorer, Firefox, Chrome,... y nos lo mostrará formateado, sangrado, como un árbol, y con la posiblidad de abrir o cerrar subramas (folding).


XML visto en Firefox
XML visto en Firefox

XML visto en Internet Explorer
XML visto en Internet Explorer
Lo que si puede ocurrir, es que nos salga algún mensaje de aviso indicando que no tiene la transformación o estilo para mostrarlo como si fuera una página web.
Podemos copiar el contenido y pegarlo en un documento, para que sea más legible el XML.



Modificación - Bloc de notas
Una aplicación que tienen todas las instalaciones de Windows es el Bloc de notas o notepad. Es ese pequeño editor de texto plano que nos sirve para ver un INI, retocar un fichero de configuración,... y por supuesto, para ver y tocar un XML.
El problema es que esta aplicación se puede emplear mal, respecto de la codificación de un fichero.
Tanto al abrir como al guardar un fichero con el bloc de notas, podemos indicar la codificación con que queremos que se realice (opción muy olvidada).
Abriendo fichero en bloc de notas
Abriendo fichero en bloc de notas
Pero hay que tener precaución, porque aunque hagamos esto, tiene el vicio de añadir el BOM al principio de un fichero, aunque sea UTF8. Este BOM son unos bytes "ocultos" que se colocan al principio del fichero para indicar el endian de dicho fichero, pero en UTF8 no hace falta. Muchas aplicaciones ignorarán dicho BOM, pero a otras las puede hacer fallar. ¡mucho ojo con esto!

XML con MS Office
Si hay un suite ofimática conocida y que esta instalada en muchos ordenadores personales, esa es MS Office, en cualquiera de sus versiones.
Para el manejo de XML es especialmente bueno el Excel.
El uso más sencillo es, en una hoja de cálculo con sitio, vamos a la pestaña Datos, elegimos la opción "De otras fuentes" --> "Desde importación de datos XML". Probablemente se queje de que no tiene schema asociado (ignorar), y luego preguntará por la celda inicial y ¡ale hop! ya nos ha cargado los datos en una tabla, con su cabecera (nombre de las etiquetas), filas con colores alternos,...
El resultado no es ideal pero, si el XML es sencillo, con información muy bien agrupada, sin relaciones, sin profundidades variables,... quedará muy bien.
En Excel 2007, si una etiqueta se repite, nos repetirá todo su grupo n veces, tantas como veces se repita la etiqueta, con lo que hace inutil la carga del XML. La estructura del XML la aplanará como si fuera de 3 niveles, por lo que si algo es más profundo, lo subirá hasta el nivel 3.
En versiones anteriores, el que una etiqueta fuera opcional podría invalidar también la carga, dándonos una especie de escalado de los datos.
 
Sin embargo, si queremos dedicarle algo más de tiempo, y mejorar la carga de los datos del XML podemos emplear la funcionalidad de la pestaña de "Programador".
Para ello, vamos al círculo superior izquierdo, botón "Opciones de Excel", y habilitamos el check "Mostrar ficha Programador en la cinta de Opciones", que esta en la parte superior de la zona "Más frecuentes".



A partir de aquí, con el botón "Asignaciones XML", podríamos definir un filtro que, para un XML del mismo tipo, nos dejara una tabla siempre igual de cargada.

Con el botón "Importar" podríamos cargar XMLs empleando algún filtro.
Una vez cargados los datos, y modificados, podemos exportarlos con el botón "Exportar".

XML con libre/open office.org

Lamentablemente, en este caso, apenas nos podríamos apoyar en estas suites de herramientas.
Su formato de archivo es un ZIP con varios XMLs dentro, pero eso no significa que sean amigos de importar o exportar ficheros XML.
Calc permite importar y exportar XMLs. Para ello tenemos que registrar un filtro o transformación XSL, pero, además de exigir conocimientos específicos de XSL, también exige que se "domine" bastante el formato XML interno de CALC, por lo que aún así no lo veo como una opción válida.
Carga de XML en Calc
Carga de XML en Calc (LibreOffice 3)

Aunque en Calc 4 lo han mejorado, reconozco que todavía no he sido capaz de conseguir nada util. :-(

Carga de XML en Calc (Libreoffice 4)
Carga de XML en Calc (Libreoffice 4)




Formateado bonito y con resaltado de sintaxis
Me he permitido crear una página web autocontenida, esto es, sin dependencias de otros ficheros, que se puede descargar y tener en local para formatear ficheros XML y realizar resaltado de sintaxis.
Enlace a página de formateado XML

Introducimos el xml en el editor de texto y damos al botón resaltar. En caso de querer otros colores, se cambian con el selector de la parte superior.








No hay comentarios: