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 las marcas, las marcas y las etiquetas

Para comprender XML, ayuda a comprender la idea de marcar datos. Las personas han creado documentos durante siglos, y durante el mismo tiempo que 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, etc. Al marcar un documento se define la estructura, el significado y la apariencia visual de la información en el documento. Si alguna vez ha usado la característica Control de cambios en Microsoft Office Word, ha usado una forma computarizada de marcar.

En informática, "marcar" también ha evolucionado a "marcado". 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 cualquier dato.

El código HTML de este artículo es un buen ejemplo del marcado del equipo en el trabajo. Si la 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 mezcla de etiquetas HTML (Lenguaje de marcado de hipertexto y texto legible), 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 realizan diversos trabajos, como definir el principio y el final de cada párrafo (<p> ... </p>) y marcar la ubicación de cada imagen.

Entonces, ¿qué hace que sea 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 la apariencia de los datos: los titulares van aquí, el párrafo empieza allí, etc. En XML, las etiquetas definen la estructura y el significado de los datos: qué son los datos.

Cuando describe la estructura y el significado de los datos, hace posible volver a usar esos 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 esos datos en cualquier número de otros sistemas, independientemente de la plataforma de hardware o el sistema operativo. Esa portabilidad es por lo 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 esos datos. Por ejemplo, supongamos que necesita almacenar y compartir información sobre 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 permiten saber exactamente qué tipo de datos está mirando. Por ejemplo, sabe que se trata de datos sobre un gato y puede encontrar fácilmente el nombre, la edad, etc. del gato. La capacidad de crear etiquetas que definan casi cualquier estructura de datos es lo que hace que XML sea "extensible".

Pero no confunda las etiquetas de ese ejemplo de código con etiquetas en 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 el XML "bien formado". Un archivo XML bien formado se ajusta a un conjunto de reglas muy estrictas que rigen XML. Si un archivo no cumple 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 dejará de usar el archivo.

No es necesario que conozca las reglas para crear XML bien formados (aunque son fáciles de entender), pero tiene que recordar que puede compartir datos XML entre programas y sistemas solo si esos 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 del sistema operativo. Por ejemplo, con las etiquetas XML correctas, puede usar un programa de escritorio para abrir y trabajar con datos de un equipo mainframe. Además, independientemente de quién cree un cuerpo de datos XML, puede trabajar con los mismos datos en varios programas de Office. Dado 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.

Uso de XML en otros programas

Además de datos etiquetados y bien formados, los sistemas XML suelen usar dos componentes adicionales: esquemas y transformaciones. En las siguientes secciones se explica cómo funcionan estos componentes adicionales.

Un vistazo rápido a los esquemas

No dejes que el término "esquema" te intimida. 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 normalmente utilizan la extensión de nombre de archivo .xsd, mientras que los archivos de datos XML utilizan la extensión .xml.

Los esquemas permiten a los programas validar datos. Proporcionan el marco para estructurar datos y garantizar que tengan sentido para el creador y para 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 que admita 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 datos de <CAT> con el esquema CAT.

Los esquemas permiten a aplicaciones compartir datos XML.

Los esquemas pueden ser complejos y le enseñamos a crear uno está más allá del ámbito de este artículo. (Además, probablemente tenga un departamento de TI que sepa cómo hacerlo). Sin embargo, ayuda a saber el aspecto de los esquemas. El siguiente esquema define las reglas para el conjunto de etiquetas <> CAT </CAT>.

<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 el contenido de la muestra. Tenga en cuenta estos hechos:

  • Los elementos de línea del esquema de ejemplo se denominan declaraciones. Si necesita información adicional sobre un animal, como el color o las marcas, lo más probable es que el departamento de TI agregue una declaración al esquema. Puede cambiar el sistema XML a medida que evolucionan las necesidades de su empresa.

  • Las declaraciones proporcionan un enorme control sobre la estructura de datos. Por ejemplo, la declaración de <xsd:sequence> significa que las etiquetas, como <NAME> y <BREED> , tienen que aparecer en el orden indicado 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 esos datos son válidos. El proceso de comprobación de un archivo de datos XML con un esquema se denomina validación (lógicamente lo bastante). La gran ventaja de usar esquemas es que pueden ayudar a evitar datos dañados. También facilitan la búsqueda de datos dañados porque XML se detiene cuando encuentra un problema.

Un vistazo rápido a las transformaciones

Como hemos mencionado anteriormente, XML también proporciona formas eficaces de usar o reutilizar datos. El mecanismo para reutilizar datos se denomina Transformación de lenguaje de hoja de estilos extensible (XSLT), o simplemente, una transformación.

También puede usar transformaciones para intercambiar datos entre sistemas back-end, como bases de datos. Por ejemplo, supongamos que la base de datos A almacena los datos de ventas en una estructura de tabla que funciona bien para el departamento de ventas. La base de datos B almacena los datos de ingresos y gastos en una estructura de tabla adaptada para el departamento contable. La base de datos B puede usar una transformación para aceptar datos de A y escribir esos 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 estos sistemas normalmente. El archivo de datos se valida con el esquema y, a continuación, se representa de cualquier manera utilizable por una transformación. En este caso, la transformación implementa los datos en una tabla de una página web.

Una estructura básica de archivos XML con un esquema y una transformación

En el ejemplo de código siguiente se muestra una manera de escribir una transformación. Carga los datos <CAT> en una tabla de una página web. Una vez más, el punto de la muestra no es mostrarle cómo escribir una transformación, sino mostrar una forma 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 que puede tener un tipo de transformación cuando está codificada, pero recuerde que puede describir simplemente 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 de 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 hacer ese trabajo.

Lo que hace que todo esto sea aún más cómodo es que Microsoft y un número creciente de otros proveedores están creando transformaciones para puestos de trabajo de todo tipo. En el futuro, lo más probable es que pueda descargar una transformación que se ajuste a sus necesidades o que pueda ajustar para adaptarse a su propósito. Eso significa que XML costará menos usar con el tiempo.

Eche un vistazo a XML en Microsoft Office System

Las ediciones profesionales de Office proporcionan un amplio soporte XML. Microsoft Office usa los formatos de archivo basados en XML, como .docx, .xlsx y .pptx. Dado que XML almacena datos en un formato de texto en lugar de un formato binario de propiedad, los clientes pueden definir sus propios esquemas y usar los datos de más maneras, todo sin tener que pagar regalías. Para obtener más información sobre los nuevos formatos, vea Formatos Open XML 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 por ciento en comparación con los formatos binarios que se usan en versiones anteriores de Office.

  • Recuperación de información más sencilla y mayor seguridad. XML es legible para el usuario, por lo que si un archivo se daña, puede abrirlo en el Bloc de notas de Microsoft u otro lector de texto y recuperar al menos parte de la información. Además, los archivos nuevos son más seguros porque no pueden contener código de Visual Basic para Aplicaciones (VBA). Si usa el nuevo formato para crear plantillas, los controles ActiveX y las macros de VBA se encuentran en una sección independiente y más segura del archivo. Además, puede usar herramientas, como el Inspector de documento, para quitar 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 es bueno, pero ¿qué sucede si tiene datos XML sin esquema? Los programas de 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 aún no tiene uno. Excel le 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 quiera usar comandos XML en Office. Vea Mostrar la pestaña Desarrollador.

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.