1. QUÉ ES XML X ML (extensible Markup Language, lenguaje extensible de marcado) es un meta-lenguaje que sirve para definir lenguajes de marcado o de etiquetas que podemos usar para diversas funciones. Qué quiere decir esto? Significa que, a través de XML, podemos definir una serie de documentos que almacenen información de forma estructurada, de forma que nos resulte sencillo trabajar con estos datos desde cualquier aplicación informática. Es decir, que con XML crearemos los lenguajes y estructuras que nos servirán para almacenar datos de facturas, clientes, libros, etc. Aparte de almacenar los datos, con XML definiremos cómo se tienen que almacenar estos datos. Por ejemplo, en la imagen anterior puedes ver un pequeño fragmento de lo que podría ser un listado de clientes en un archivo XML, para que te hagas una idea de cómo está formado. Como puedes ver se compone de distintas etiquetas, que están incluidas entre los símbolos < y >. Office 2013 dispone de soporte a XML, de forma que puedes utilizar este formato para trabajar con datos entre aplicaciones, extraer ciertos datos provenientes de otras fuentes, hacer pasar los datos entre distintas personas para que cada una trabaje con ellos, etc. Copyright Computer Aided Elearning, S.A. 1
Además de XML y junto a él, existe otra serie de lenguajes y estándares que servirán para indicar cómo se deben mostrar los datos en las distintas aplicaciones, si deben sufrir alguna transformación al mostrarse en otros programas, etc. Los formatos propios de los distintos programas de ordenador en ocasiones son incompatibles entre sí. Entonces, para compartir y traspasar la información entre estos programas podemos usar XML, ya que, de esta forma, los datos podrán ser leídos por las aplicaciones que soportan este formato (que, en la actualidad, son muchas). Además, XML puede organizar los datos de una forma relativamente sencilla y fácil de transmitir, incluso entre distintos sistemas operativos. Por ejemplo, un empleado podría introducir cierta información desde su ordenador y almacenarla en formato XML. Desde otro ordenador podríamos acceder desde Excel a estos datos y analizarlos, crear gráficos, etc. En este caso, el primer usuario (el que introducía los datos) no tiene por qué trabajar desde Excel. Incluso podría trabajar en un sistema operativo distinto de Windows. 2
Cuando acabáramos de trabajar con los datos y de realizar las modificaciones oportunas, podríamos exportar los resultados a XML, para que otro usuario los viera y trabajara con ellos desde otra aplicación. Además, el XML es un lenguaje relativamente simple, por lo que los documentos XML son sencillos de crear. A pesar de esto, los documentos XML están estructurados o formalizados perfectamente. Recuerda también que el formato por defecto que utiliza Excel para guardar sus libros está basado en XML, y se denomina Microsoft Office Open XML. El uso de un formato XML en los archivos de Office proporciona varias ventajas, entre las que figuran: Reducción del tamaño de los archivos. Mejoras en la recuperación de datos en archivos dañados. Más control sobre la información personal. Mayor seguridad. De esta forma, también se facilita el compartir datos entre distintos programas y sistemas operativos, ya que el archivo en formato XML puede ser leído por otro programa, accediendo a la información almacenada. Recuerda que la extensión de los archivos de libros de Excel es xlsx, mientras que la extensión xlsm indica un libro que contiene macros. 2. ASIGNACIONES XML P ara trabajar con datos XML en Excel, utilizamos lo que se llama asignación XML. Una asignación XML sirve para destinar celdas o rangos de celdas a elementos del documento XML. Para que entiendas mejor esto, primero te explicaré lo que significan los esquemas XML. En un documento XML podemos tener almacenados una serie de datos. También existe otra serie de documentos, que sirven para especificar la estructura que tiene que seguir este documento XML: los distintos elementos que tendrá, el tipo de datos que podrá almacenar, etc. Copyright Computer Aided Elearning, S.A. 3
Esta estructura del documento XML se puede almacenar en DTD (Document Type Definition, definición del tipo de documento) o en esquemas XML (XML Schemas). Los esquemas XML son más potentes que los DTD, ya que permiten especificar más cosas. Además, usan la misma sintaxis que XML, mientras que los DTD no. Por ejemplo, en la siguiente imagen te muestro el aspecto que podría tener un documento XML que almacena la información de una serie de libros, con datos como el código, el título y autor, el año, etc. Un DTD que defina la estructura de este documento XML podría ser el que te muestro a continuación: 4
Y el siguiente esquema XML también sirve para especificar la estructura de este mismo documento XML: Observa cómo, tanto en el DTD como en el esquema XML, indicamos los distintos campos de información que tiene cada libro. Esta pestaña Desarrollador no aparece por defecto en el entorno de Excel; recuerda que puedes mostrarla a través del cuadro de las Opciones de Excel, activando la casilla adecuada en la categoría Personalizar cinta de opciones. Pues bien, Excel utiliza los esquemas XML para definir la estructura de los documentos XML. A partir de un esquema XML dado se creará una asignación XML, que será con la que trabajaremos en Excel. En el grupo de comandos XML de la pestaña Desarrollador de la Cinta de opciones se encuentran los comandos que utilizaremos en el trabajo con datos y archivos XML. Con el botón se abre el panel de tareas Origen XML, desde el que podremos trabajar con documentos XML y realizar varias acciones relativas a este tipo de documentos. Si pulsas el botón Asignaciones XML, que está en la parte inferior del panel Origen XML, se abrirá una nueva ventana, desde la que podrás ver, añadir o eliminar las asignaciones XML del libro actual. Copyright Computer Aided Elearning, S.A. 5
Para añadir una asignación XML, pulsa el botón Agregar y selecciona el archivo del esquema XML que define la estructura del documento XML que quieres crear. A partir del esquema XML, Excel crea una asignación XML y la muestra en el panel de tareas Origen XML. Excel establece un formato de tabla en los datos de la hoja de cálculo, mostrando la pestaña contextual Diseño con los comandos y opciones relativos a la misma al situarte dentro de ella. Entonces puedes usar esta asignación XML para relacionar las celdas de la hoja de cálculo con los elementos del documento XML. Para asignar los elementos XML a la hoja de cálculo, arrástralos desde el panel Origen XML hasta la posición en que se sitúan en la hoja de cálculo. 6
De esta forma puedes asignar los distintos campos de una lista de campos que tengas en una hoja de Excel con los distintos elementos de un documento XML. Puedes comprobar si Excel podrá exportar los datos XML a través de la asignación XML actual antes de proceder a esta exportación, pulsando el botón Comprobar asignación para exportar, que está en la parte inferior del panel Origen XML. A continuación podrías exportar los datos que tienes en la hoja de cálculo a un documento XML siguiendo el esquema indicado. De esta forma, podrías utilizar estos datos directamente desde cualquier programa que pueda leer documentos XML, sin necesidad de hacer ninguna transformación ni ninguna conversión. Para esto, pulsa el botón de la pestaña Desarrollador de la Cinta de opciones e indica el nombre del archivo XML que se creará con los datos exportados. Uno de los muchos programas que actualmente soportan el formato XML es Internet Explorer, por lo que incluso podrías ver los datos exportados desde este navegador. Además, puedes utilizar el lenguaje XSL para indicar cómo se debe de mostrar el documento en los programas en los que veas el documento XML. Ten en cuenta que en cualquier momento podrías añadir o modificar los datos desde Excel y volverlos a exportar a XML, porque ya tienes definida la asignación adecuada. Al establecer una asignación XML, también puedes guardar la hoja de cálculo actual como un archivo de datos XML, seleccionando el tipo Datos XML (*.xml) en el cuadro de diálogo de Guardar como. Copyright Computer Aided Elearning, S.A. 7
Ten en cuenta que de esta forma guardarás el libro como archivo de datos XML, por lo que perderás muchas de las características de Excel. En este caso, puede ser muy útil el que conserves una copia del archivo en formato de Excel. El lenguaje XSL (Extensible Style Language, lenguaje de hojas de estilo extensible) permite definir cómo se mostrará un documento XML. Puedes tener varias hojas de estilo XSL, una para cada formato (HTML, PDF, RTF, etc.). Entonces, al abrir el documento XML con una aplicación, se aplicará la hoja de estilo adecuada al formato. Por lo tanto, podemos decir que XSL es un lenguaje que transforma un documento XML, para poder verlo de una determinada forma en un determinado formato. Si conoces el lenguaje CSS (Cascade Style Sheets, hojas de estilo en cascada), que se utiliza para las páginas web de Internet, es parecido a XSL, en el sentido que CSS indica cómo mostrar los diferentes elementos de la página en el navegador. Sin embargo, XSL es mucho más potente que CSS, ya que también puedes utilizarlo para filtrar los datos según ciertas condiciones, ordenarlos, permite ejecutar bucles, operaciones lógicas, etc. Además, la salida no está limitada a ser mostrada en un navegador, sino que puede ser en muchos formatos. XSL se parece más a un lenguaje de programación que CSS, pero tiene la desventaja de que es más complejo y consume más recursos que CSS. 3. IMPORTAR DATOS XML O tra de las funciones existentes en Excel a la hora de trabajar con documentos XML es importar la información que se encuentre en un archivo XML a una hoja de cálculo de Excel. Por ejemplo, supón que queremos crear una factura de una empresa en Excel. Sin embargo, los datos de la factura los introduce otro empleado desde un terminal donde no dispone de Excel. En este caso, una solución a este problema es que el empleado almacene la información de la factura en formato XML. Posteriormente importaremos los datos a Excel, desde donde podremos trabajar con ellos como ya sabemos. Lo primero que tendríamos que hacer es crear el modelo de factura en una hoja de cálculo de Excel, utilizando las herramientas que ya conoces. 8
A continuación tendríamos que establecer la asignación XML que utilizaremos para enlazar los campos del documento XML que contendrá los datos de la factura con las celdas de la hoja de cálculo. Para ello, muestra el panel Origen XML (a través del botón de la pestaña Programador de la Cinta de opciones) y añade una asignación XML al libro de Excel. Recuerda que tendremos que haber creado previamente el esquema XML, que será el que se habrá utilizado para la creación del documento XML, al introducir los datos desde el otro equipo. En los iconos de la lista de campos del panel Origen XML, el símbolo de la estrella indica que ese es un campo requerido, es decir, obligatorio, mientras que el icono de una flecha hacia abajo indica que es un campo repetido. Al arrastrar los campos, en ocasiones aparecerá la etiqueta Opciones de encabezado al lado de la celda. Desde el menú que aparece al pulsar en ella puedes indicar si Excel incluirá un encabezado a la izquierda o encima de la celda a la que has asignado el campo XML. Si en la asignación XML tienes un campo repetido, es decir, que puede haber varias líneas con los mismos datos (por ejemplo, los distintos artículos de una factura o de un pedido), puedes asignarlo a la celda que representa al rótulo o encabezado de la lista, de forma que Excel asignará los campos adecuados a las celdas correspondientes. Copyright Computer Aided Elearning, S.A. 9
Una vez asignes todos los campos XML a las celdas, puedes guardar el documento en formato de libro de Excel (con extensión xlsx), para que te pueda servir de modelo para los documentos XML que recibas. Antes de importar los datos puedes indicar alguna opción relativa a este aspecto, a través del botón, que está en la pestaña Desarrollador de la Cinta de opciones. Por ejemplo, una opción interesante es la de Validación del esquema XML, que indicará si Excel validará los datos con la asignación XML al importar o exportar datos. De esta forma, te puedes asegurar de que los datos cumplen el esquema XML que has utilizado. Desde el apartado Al actualizar o importar los datos podrás indicar si, al importar o actualizar los datos XML, los datos que haya en las celdas de la hoja de cálculo se sustituirán con los del archivo XML o si los datos del archivo XML se añadirán a los que haya en la hoja de cálculo. Si quieres que se mantenga el ancho de las columnas de la hoja de cálculo al importar los datos, desactiva la opción Ajustar el ancho de la columna. Una vez recibas los datos, lo harás en forma de un documento XML; entonces podrás importarlos al libro de Excel. Para esto, utiliza el botón de la pestaña Desarrollador, seleccionando el archivo que tenga los datos. De esta forma podrás ver los datos de este archivo en la hoja de Excel y podrás hacer cualquier cálculo u operación con estos datos, crear gráficos, etc. 10
Otra posible utilidad de esta característica de Excel es completar la información de un archivo XML. Por ejemplo, imagínate que en el archivo XML de origen con los datos de una factura (número, cliente, dirección, artículos, etc.) no estuviera disponible la información de los totales de la factura (subtotal, impuestos, total de la factura, etc.). En este caso, en las celdas de totales de la hoja de Excel tendrías las fórmulas que los calculasen, y tendrías que tener en cuenta que no deberías asignar los campos de los totales del esquema XML a las celdas de la hoja de cálculo. Cuando hubieras importado los datos, podrías ver en las celdas de totales de la hoja los valores correspondientes, que habrían sido calculados por Excel. Si a continuación quisieras exportar estos datos calculados junto al resto de datos del archivo XML, tendrías que asignar los campos XML a las celdas de totales y exportar los datos, con lo que estos datos calculados por Excel se exportarían al formato XML y podrían ser vistos y utilizados por otras aplicaciones que soportaran el formato XML. 4. ABRIR DOCUMENTOS XML P or último, veremos otra de las posibilidades de Excel: abrir documentos en formato XML. El formato por defecto de los documentos de Excel 2013 está basado en XML, por lo que, al abrir un libro guardado de esta manera, se abrirá directamente en Excel, mostrando el contenido del documento. Sin embargo, si abres documentos XML "normales", podrás hacerlo de varias maneras. Al abrir un documento XML desde Excel (es decir, con extensión xml), desde la opción Abrir desde la vista Backstage, aparecerá el siguiente cuadro de diálogo: Si eliges Utilizar el panel de tareas Origen XML, para ver los datos del archivo XML deberás arrastrar los elementos a las celdas de la hoja de cálculo para asignarlos a celdas e importando los datos. Copyright Computer Aided Elearning, S.A. 11
Si, por el contrario, abres el archivo Como libro de solo lectura, podrás ver los datos directamente en Excel, pero perderás la estructura del archivo. Con la opción abrir el archivo Como tabla XML, abre el archivo en un libro nuevo de Excel, creando automáticamente el esquema XML y su correspondiente asignación XML, en caso de que el archivo XML no haga referencia a ningún esquema XML ya existente. Entonces podrás trabajar con estos datos, crear gráficos o resúmenes con ellos, exportarlos, importar nuevos datos desde otro archivo XML que siga esta misma estructura, etc. El botón de la pestaña Desarrollador sirve para actualizar los datos de la asignación XML, obteniendo estos datos del último fichero importado, mientras que con eliges el archivo XML del que obtendrás los datos. 12