Es posible que haya oído hablar del Lenguaje de marcado extensible (XML) y que haya oído muchas razones por las que su organización debería usarlo. Pero, ¿qué es XML, exactamente? En este artículo se explican los conceptos básicos de XML: qué es y cómo funciona.
En este artículo
Un breve vistazo a marcas, marcas y etiquetas
Para comprender XML, ayuda a comprender la idea de marcar datos. Las personas han creado documentos durante siglos y durante el mismo tiempo han marcado esos documentos. Por ejemplo, los profesores de la escuela marcan los documentos de los alumnos todo el tiempo. Les dicen a los alumnos que muevan párrafos, aclaren oraciones, corrija errores ortográficos, y así sucesivamente. Marcar un documento es cómo definimos la estructura, el significado y la apariencia visual de la información del documento. Si alguna vez ha usado la característica Control de cambios en Microsoft Office Word, ha usado una forma de marcación computarizada.
En informática, "marcar" también se ha convertido en "revisión". El marcado es el proceso de usar códigos denominados etiquetas (o a veces tokens) para definir la estructura, la apariencia visual y, en el caso de XML, el significado de los datos.
El código HTML de este artículo es un buen ejemplo de revisión del equipo en el trabajo. Si lo examina (en Microsoft Internet Explorer, haga clic con el botón derecho en la página y, a continuación, haga clic en Ver origen),verá una combinación de etiquetas de texto legible y lenguaje de marcado de hipertexto (HTML), como <p> y <h2>. Las etiquetas de los documentos HTML y XML son fáciles de reconocer porque están entre corchetes angulares. En el código fuente de este artículo, las etiquetas HTML hacen una variedad de trabajos, como definir el principio y el final de cada párrafo (<p> ... </p>) y marcar la ubicación de cada imagen.
¿Qué lo convierte en XML?
Los documentos HTML y XML contienen datos rodeados de etiquetas, pero ahí es donde terminan las similitudes entre los dos idiomas. En HTML, las etiquetas definen el aspecto de los datos: los titulares van aquí, el párrafo comienza allí, y así sucesivamente. En XML, las etiquetas definen la estructura y el significado de los datos: cuáles son los datos.
Al describir la estructura y el significado de los datos, permite volver a usar los datos de varias maneras. Por ejemplo, si tiene un bloque de datos de ventas y cada elemento del bloque está claramente identificado, puede cargar solo los elementos que necesite en un informe de ventas y cargar otros elementos en una base de datos contable. Dicho de otro modo, puede usar un sistema para generar los datos y marcarlos con etiquetas XML y, a continuación, procesar los datos en cualquier número de otros sistemas, independientemente de la plataforma de hardware o el sistema operativo. Esa portabilidad es la razón por la que XML se ha convertido en una de las tecnologías más populares para intercambiar datos.
Recuerde los siguientes puntos:
-
No puede usar HTML en lugar de XML. Sin embargo, puede ajustar los datos XML en etiquetas HTML y mostrarlos en una página web.
-
HTML se limita a un conjunto predefinido de etiquetas que comparten todos los usuarios.
-
XML le permite crear cualquier etiqueta que necesite para describir los datos y la estructura de los datos. Por ejemplo, diga que necesita almacenar y compartir información sobre las mascotas. Puede crear el siguiente código XML:
<?xml version="1.0"?> <CAT> <NAME>Izzy</NAME> <BREED>Siamese</BREED> <AGE>6</AGE> <ALTERED>yes</ALTERED> <DECLAWED>no</DECLAWED> <LICENSE>Izz138bod</LICENSE> <OWNER>Colin Wilcox</OWNER> </CAT>
Puede ver que las etiquetas XML hacen posible saber exactamente qué tipo de datos está mirando. Por ejemplo, sabe que se trata de datos sobre un gato y que puede encontrar fácilmente el nombre, la edad y así sucesivamente del gato. La capacidad de crear etiquetas que definen casi cualquier estructura de datos es lo que hace que XML sea "extensible".
Pero no confunda las etiquetas de esa muestra de código con las etiquetas de un archivo HTML. Por ejemplo, si pega esa estructura XML en un archivo HTML y ve el archivo en el explorador, los resultados tendrán un aspecto similar a este:
Izzy Siamese 6 yes no Izz138bod Colin Wilcox
El explorador ignora las etiquetas XML y muestra solo los datos.
Una palabra sobre datos bien formados
Es posible que escuche a alguien de su departamento de TI mencionar XML "bien formado". Un archivo XML bien formado se ajusta a un conjunto de reglas muy estrictas que rigen XML. Si un archivo no se ajusta a esas reglas, XML deja de funcionar. Por ejemplo, en la muestra de código anterior, cada etiqueta de apertura tiene una etiqueta de cierre, por lo que la muestra se adhiere a una de las reglas para estar bien formada. Si quita una etiqueta e intenta abrir ese archivo en uno de los programas de Office, verá un mensaje de error y el programa le impedirá usar el archivo.
No es necesario que conozca las reglas para crear XML bien formado (aunque sean fáciles de entender), pero sí que debe recordar que solo puede compartir datos XML entre programas y sistemas si estos datos están bien formados. Si no puede abrir un archivo XML, lo más probable es que ese archivo no esté bien formado.
XML también es independiente de la plataforma, lo que significa que cualquier programa creado para usar XML puede leer y procesar los datos XML, independientemente del hardware o sistema operativo. Por ejemplo, con las etiquetas XML correctas, puede usar un programa de escritorio para abrir y trabajar con datos de un equipo de mainframe. Además, independientemente de quién cree un cuerpo de datos XML, puede trabajar con los mismos datos en varios Office programas. Debido a que es tan portátil, XML se ha convertido en una de las tecnologías más populares para intercambiar datos entre bases de datos y escritorios de usuario.
Además de los datos etiquetados y bien formados, los sistemas XML suelen usar dos componentes adicionales: esquemas y transformaciones. En las secciones siguientes se explica cómo funcionan estos componentes adicionales.
Un vistazo rápido a los esquemas
No permita que el término "esquema" le intimide. Un esquema es solo un archivo XML que contiene las reglas de lo que puede y no puede residir en un archivo de datos XML. Los archivos de esquema suelen usar la extensión de nombre de archivo .xsd, mientras que los archivos de datos XML usan la .xml archivo.
Los esquemas permiten a los programas validar datos. Proporcionan el marco para estructurar datos y asegurarse de que tenga sentido para el creador y cualquier otro usuario. Por ejemplo, si un usuario escribe datos no válidos, como texto en un campo de fecha, el programa puede pedir al usuario que escriba los datos correctos. Siempre que los datos de un archivo XML se ajusten a las reglas de un esquema determinado, cualquier programa compatible con XML puede usar ese esquema para leer, interpretar y procesar los datos. Por ejemplo, como se muestra en la siguiente ilustración, Excel puede validar los <CAT> datos con el esquema CAT.
Los esquemas pueden ser complejos y enseñar cómo crear uno está fuera del ámbito de este artículo. (Además, es probable que tenga un departamento de TI que sepa cómo hacerlo). Sin embargo, ayuda a saber cómo son los esquemas. En el siguiente esquema se definen las reglas <cat> ... </CAT> conjunto de etiquetas.
<xsd:element name="CAT">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="NAME" type="xsd:string"/>
<xsd:element name="BREED" type="xsd:string"/>
<xsd:element name="AGE" type="xsd:positiveInteger"/>
<xsd:element name="ALTERED" type="xsd:boolean"/>
<xsd:element name="DECLAWED" type="xsd:boolean"/>
<xsd:element name="LICENSE" type="xsd:string"/>
<xsd:element name="OWNER" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
No se preocupe por comprender todo lo que hay en la muestra. Solo tienes que tener en cuenta estos datos:
-
Los elementos de línea del esquema de ejemplo se denominan declaraciones. Si necesita información adicional sobre un animal, como su color o marcas, lo más probable es que su departamento de TI agregue una declaración al esquema. Puede cambiar el sistema XML a medida que evolucionan las necesidades empresariales.
-
Las declaraciones proporcionan una gran cantidad de control sobre la estructura de datos. Por ejemplo, la declaración <xsd:sequence> significa que las etiquetas, como <NAME> y <BREED> , tienen que producirse en el orden en que se enumeran anteriormente. Las declaraciones también pueden controlar los tipos de datos que los usuarios pueden escribir. Por ejemplo, el esquema anterior requiere un número positivo para la edad del gato y valores booleanos (VERDADERO o FALSO) para las etiquetas ALTERED y DECLAWED.
-
Cuando los datos de un archivo XML se ajustan a las reglas proporcionadas por un esquema, se dice que los datos son válidos. El proceso de comprobación de un archivo de datos XML en un esquema se denomina validación (lógicamente suficiente). La gran ventaja de usar esquemas es que pueden ayudar a evitar datos dañados. También hacen que sea fácil encontrar datos dañados porque XML se detiene cuando encuentra un problema.
Un vistazo rápido a las transformaciones
Como mencionamos anteriormente, XML también proporciona formas eficaces de usar o reutilizar datos. El mecanismo para volver a usar los datos se denomina Transformación de lenguaje de hoja de estilos extensible (XSLT) o, simplemente, una transformación.
Usted (bien, su departamento de TI) también puede usar transformaciones para intercambiar datos entre sistemas back-end, como bases de datos. Por ejemplo, diga que base de datos A almacena los datos de ventas en una estructura de tabla que funciona bien para el departamento de ventas. Base de datos B almacena los datos de ingresos y gastos en una estructura de tabla adaptada al departamento de contabilidad. La base de datos B puede usar una transformación para aceptar datos de A y escribir los datos en las tablas correctas.
La combinación de archivo de datos, esquema y transformación constituye un sistema XML básico. En la ilustración siguiente se muestra cómo funcionan normalmente estos sistemas. El archivo de datos se valida con el esquema y, a continuación, se representa en cualquier número de formas utilizables mediante una transformación. En este caso, la transformación implementa los datos en una tabla de una página web.
En el ejemplo de código siguiente se muestra una forma de escribir una transformación. Carga el <CAT> datos en una tabla de una página web. De nuevo, el punto de la muestra no es mostrar cómo escribir una transformación, sino mostrar un formulario que puede tomar una transformación.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0">
<TABLE>
<TR>
<TH>Name</TH>
<TH>Breed</TH>
<TH>Age</TH>
<TH>Altered</TH>
<TH>Declawed</TH>
<TH>License</TH>
<TH>Owner</TH>
</TR>
<xsl:for-each select="CAT">
<TR ALIGN="LEFT" VALIGN="TOP">
<TD>
<xsl:value-of select="NAME"/>
</TD>
<TD>
<xsl:value-of select="BREED"/>
</TD>
<TD>
<xsl:value-of select="AGE"/>
</TD>
<TD>
<xsl:value-of select="ALTERED"/>
</TD>
<TD>
<xsl:value-of select="DECLAWED"/>
</TD>
<TD>
<xsl:value-of select="LICENSE"/>
</TD>
<TD>
<xsl:value-of select="OWNER"/>
</TD>
</TR>
</xsl:for-each>
</TABLE>
En este ejemplo se muestra el aspecto de un tipo de transformación cuando se codifica, pero recuerde que solo puede describir lo que necesita de los datos en inglés sin formato. Por ejemplo, puede ir a su departamento de TI y decir que necesita imprimir los datos de ventas de regiones concretas durante los últimos dos años, "y necesito que se vean así". A continuación, el departamento de TI puede escribir (o cambiar) una transformación para realizar ese trabajo.
Lo que hace que todo esto sea aún más conveniente es que Microsoft y un número creciente de otros proveedores están creando transformaciones para trabajos de todo tipo. En el futuro, lo más probable es que pueda descargar una transformación que satisfaga sus necesidades o que pueda ajustar para adaptarla a su propósito. Esto significa que XML costará menos usar con el tiempo.
Un vistazo a XML en el Microsoft Office System
Las ediciones profesionales de Office proporcionan una amplia compatibilidad con XML. A partir de 2007 Microsoft Office system, Microsoft Office usa los formatos de archivo basados en XML, como .docx, .xlsx y .pptx. Como XML almacena datos en un formato de texto en lugar de en un formato binario propietario, los clientes pueden definir sus propios esquemas y usar los datos de más formas, todo ello sin tener que pagar regalías. Para obtener más información sobre los nuevos formatos,vea Formatos XML abiertos y extensiones de nombre de archivo. Otras ventajas son:
-
Tamaños de archivo más pequeños. El nuevo formato usa ZIP y otras tecnologías de compresión para reducir el tamaño de archivo hasta en un 75 % en comparación con los formatos binarios que se usan en versiones anteriores de Office.
-
Más fácil recuperación de información y mayor seguridad. XML es legible por humanos, por lo que si un archivo se daña, puede abrir el archivo en Microsoft Bloc de notas u otro lector de texto y recuperar al menos parte de la información. Además, los nuevos archivos son más seguros porque no pueden contener Visual Basic para Aplicaciones (VBA). Si usa el nuevo formato para crear plantillas, los controles de ActiveX y macros de VBA residen en una sección independiente y más segura del archivo. Además, puede usar herramientas, como el Inspector de documento, para quitar los datos personales. Para obtener más información sobre el uso del Inspector de documento, vea el artículo Quitar datos ocultos e información personal mediante la inspección de documentos.
Hasta el momento, ¿pero qué sucede si tiene datos XML sin esquema? Los Office compatibles con XML tienen sus propios enfoques para ayudarle a trabajar con los datos. Por ejemplo, Excel deduce un esquema si abre un archivo XML que todavía no tiene uno. Excel ofrece la opción de cargar estos datos en una tabla XML. Puede usar las listas y tablas XML para ordenar, filtrar o agregar cálculos a los datos.
Habilitar las herramientas XML en Office
La pestaña Programador no se muestra de forma predeterminada, pero tendrá que agregarla a la cinta cuando desee usar comandos XML en Office.
-
En Office 2016, Office 2013 o Office 2010: Mostrar lapestaña Programador .
-
En Office 2007: Mostrar la pestaña Desarrollador o ejecutar en modo desarrollador.