XML para principiantes

Es posible que haya oído hablar del lenguaje de marcado extensible/lenguaje XML, así como de muchas razones por las que su organización debería utilizarlo. Pero, ¿qué es XML, exactamente? En este artículo se explican los conceptos básicos sobre XML: qué es y su funcionamiento. 

En este artículo


Breve presentación del marcado, las marcas y las etiquetas

Para entender XML, es útil comprender la idea del marcado de datos. Las personas llevan siglos creando documentos y siempre los han marcado. Por ejemplo, los maestros de escuela marcan constantemente lo que escriben los estudiantes. Les indican que deben mover párrafos, aclarar frases, corregir errores ortográficos, etc. Mediante el marcado de los documentos es como definimos la estructura,el significado y la apariencia de la información del documento. Si alguna vez ha utilizado la característica Control de cambios de Microsoft Office Word, ha utilizado una forma informatizada de marcado.

En informática, el término inglés "mark up" ha evolucionado a "markup" (marcado). El marcado es el proceso de usar códigos denominados etiquetas (o, a veces, token) para definir la estructura, la apariencia visual y, en el caso de XML, el significado de cualquier dato.  

El código HTML para este artículo es un buen ejemplo del marcado relacionado con la informática en funcionamiento. Si lo examina (en Microsoft Internet Explorer, haga clic con el botón secundario del mouse (ratón) en la página y a continuación, en Ver código fuente), verá una mezcla de texto legible y etiquetas de 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 delimitadas por corchetes angulares. En el código fuente de este artículo, las etiquetas HTML desempeñan varias funciones, como definir el principio y el final de cada párrafo (<p> ... </p>) y marcar la ubicación de cada imagen.

Volver al principio Volver al principio

¿Qué lo convierte en XML?

Los documentos HTML y XML contienen datos delimitados por etiquetas, pero ahí acaban las similitudes entre ambos lenguajes. En HTML, las etiquetas definen la apariencia y el funcionamiento de los datos: aquí van los títulos, allí empieza el párrafo, etc. En XML las etiquetas definen la estructura y el significado de los datos: qué son los datos.  

Al describir la estructura y el significado de los datos, se pueden volver a utilizar estos datos de muchas maneras. Por ejemplo, si tiene un bloque de datos de ventas y cada elemento del bloque está claramente identificado, puede cargar los elementos que necesite en un informe de ventas y cargar otros elementos en una base de datos de contabilidad. Dicho de otra forma, puede usar un sistema para generar los datos y marcarlos con etiquetas XML, y después procesar esos datos en otros muchos sistemas, independientemente de la plataforma de hardware y del sistema operativo. Esta portabilidad es la razón por la que XML se ha convertido en una de las tecnologías más populares para el intercambio de datos.

Recuerde esta información a medida que avance:

  • No es posible utilizar HTML en lugar de XML. Puede, no obstante, incluir los datos XML en etiquetas HTML y mostrarlos en una página Web.
  • HTML está limitado a un conjunto predefinido de etiquetas que comparten todos los usuarios.
  • XML permite crear cualquier etiqueta necesaria 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é tipos de datos se está viendo. Por ejemplo, sabiendo que estos datos son de un gato encontrará fácilmente su nombre, edad, etc. La capacidad de crear etiquetas que definan casi cualquier estructura de datos es lo que hace al XML "extensible".

Sin embargo, no debe confundir las etiquetas de ese ejemplo de código con etiquetas de un archivo HTML. Por ejemplo, si pega esa estructura XML en un archivo HTML y ve el archivo en el explorador, el resultado tendrá un aspecto similar al siguiente:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

El explorador hace caso omiso de las etiquetas XML y muestra unicamente los datos.

Volver al principio Volver al principio

Comentario sobre los datos con formato correcto

Quizá haya oído que alguien del departamento de IT habla de XML "correcto". Un archivo XML con formato correcto 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 el ejemplo de código anterior, cada etiqueta de apertura tiene una etiqueta de cierre, así que el ejemplo cumple una de las reglas para ser correcto. Si quita una etiqueta e intenta abrir el archivo en uno de los programas de Office, verá un mensaje de error y el programa le impedirá usar el archivo.

No es necesario conocer las reglas de creación de XML con formato correcto (aunque son fáciles de comprender), pero sí es necesario recordar que sólo se puede compartir datos XML entre programas y sistemas si los datos tienen formato correcto. Si no puede abrir un archivo XML, lo más probable es que su formato no sea correcto.

XML es además independiente de la plataforma, lo que significa que cualquier programa generado para usar XML podrá leer y procesar sus datos XML, independientemente del hardware y del sistema operativo. Por ejemplo, con las etiquetas XML correctas, puede usar un programa de escritorio para abrir y trabajar con datos procedentes de un gran sistema. Además, independientemente de quién cree un cuerpo de datos XML, es posible trabajar con los mismos datos en varios de los programas de Microsoft Office 2003 y Microsoft Office Professional 2007, incluidos Microsoft Office Access 2007, Microsoft Office Word 2007, Microsoft Office InfoPath 2007, y ExcelMicrosoft Office Excel 2007. Debido a que es tan portátil, XML se ha convertido en una de las tecnologías más populares para el intercambio de datos entre bases de datos y equipos de usuario.

Uso de XML en otros programas

Además de datos etiquetados, correctos, los sistemas XML normalmente utilizan dos componentes adicionales: esquemas y transformaciones. Las secciones siguientes explican cómo funcionan estos componentes adicionales.

Volver al principio Volver al principio

Una ojeada a los esquemas

No deje que el término "esquema" le intimide. Un esquema es sólo un archivo XML que contiene las reglas de lo que puede y lo que 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 utilizan la extensión .xml.

Los esquemas permiten a los programas validar datos. Proporcionan el marco de trabajo para estructurar datos y garantizar que tienen sentido para el creador y para cualquier otro usuario. Por ejemplo, si un usuario especifica datos no válidos, tales como texto en un campo de fecha, el programa puede pedir al usuario que introduzca los datos correctos. Siempre que los datos de un archivo XML se ajusten a las reglas de un esquema dado, cualquier programa que admita XML puede utilizar ese esquema para leer, interpretar y procesar los datos. Por ejemplo, como se muestra en la ilustración siguiente, Excel y Word pueden validar los datos <CAT> de acuerdo con el esquema CAT.

Los esquemas permiten a aplicaciones compartir datos XML.

Los esquemas pueden complicarse y la tarea de enseñarle cómo crearlos está más allá del propósito de este artículo (además, es probable que tenga un departamento de IT que sepa cómo hacerlo). No obstante, es útil saber qué aspecto tiene un esquema. El esquema siguiente 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 si no comprende todo lo que aparece en el ejemplo. Sólo tiene que recordar lo siguiente:

  • Los elementos de línea del esquema de ejemplo se denominan declaraciones. Si necesitara información adicional sobre un animal, como el color o las marcas, lo más probable es que su departamento de IT agregara una declaración al esquema. Puede cambiar el sistema XML a medida que evolucionen las necesidades de su negocio.
  • Las declaraciones proporcionan un nivel de control muy alto sobre la estructura de datos. Por ejemplo, la declaración <xsd:sequence> indica que etiquetas, como <NAME> y <BREED>, deben aparecer en el orden que se muestra más arriba. Las declaraciones también pueden controlar los tipos de datos que pueden especificar los usuarios. Por ejemplo, el esquema anterior requiere un número positivo para la edad del gato y valores booleanos (TRUE o FALSE) para las etiquetas ALTERED y DECLAWED.
  • Cuando los datos de un archivo XML siguen 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 con un esquema se denomina (lógicamente) validación. La gran ventaja de usar esquemas es que ayudan a evitar que se dañen los datos. También facilitan la tarea de buscar datos dañados, porque XML se detiene si detecta un problema.

Volver al principio Volver al principio

Una ojeada a las transformaciones

Como ya se ha mencionado antes, XML proporciona también medios muy eficaces para usar o reutilizar datos. El mecanismo para reutilizar datos se denomina Transformación de lenguaje de hoja de estilo extensible (XSLT) o, simplemente, transformación. Es en las transformaciones donde XML se pone realmente interesante. Por ejemplo, después de validar un archivo de datos con un esquema, puede aplicar una transformación que haga que los datos funcionen como un folleto de marketing en Microsoft Office Word 2003 y aplicar otra transformación para crear un informe de ventas en Office Excel 2007.

Usted (mejor, su departamento de IT) también puede utilizar transformaciones para intercambiar datos entre sistemas de servidor, tales como base de datos. Por ejemplo, supongamos que la Base de datos A almacena datos en una estructura de tabla adecuada para el departamento de ventas. La Base de datos B almacena los datos de ingresos y gastos en una estructura de tabla a medida del departamento de contabilidad. 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. La ilustración siguiente muestra cómo funcionan normalmente tales sistemas. El archivo de datos se valida con el esquema y, a continuación, se representa de cualquier forma que resulte útil usando una transformación. En este caso, la transformación despliega los datos en una tabla en una página Web.

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

En el siguiente ejemplo de código se muestra una forma de escribir una transformación. Carga los datos <CAT> en una tabla de una página Web. De nuevo, el propósito del ejemplo no es enseñarle a escribir una transformación, sino mostrarle qué forma puede adoptar la 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 qué aspecto puede tener un tipo de transformación al codificarla; recuerde, no obstante, que es posible describir lo que se necesita de los datos en simple español. Por ejemplo, puede ir al departamento de IT y decirles que necesita imprimir las ventas de determinadas regiones durante los dos últimos años, "y necesito que tenga este aspecto". El departamento de IT puede entonces escribir (o modificar) una transformación para realizar esa tarea.

Lo que hace aún más cómodo todo esto 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 que se adecue a sus propósitos. Eso significa que cada vez costará menos usar XML.

Volver al principio Volver al principio

XML en Microsoft Office System

Las ediciones profesionales de Microsoft Office 2003 y de Versión de Office 2007 proporcionan una amplia compatibilidad con XML.

  • Office Excel 2007, Office Word 2007, y Office PowerPoint 2007 utilizan XML como formato predeterminado de archivo, cambio que tiene varias ventajas:
    • Archivos de menor tamaño. El nuevo formato usa ZIP y otras tecnologías de compresión para reducir el tamaño de los archivos hasta un 75 por ciento, en comparación con los formatos binarios utilizados en versiones anteriores de Office.
    • Recuperación de datos más sencilla y mayor seguridad. XML es legible para las personas así que, si se daña un archivo, puede abrirlo en el Bloc de notas u otro editor de texto y recuperar al menos parte de la información. Además, los nuevos archivos 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 residirán en una sección separada, más segura, del archivo. Además, puede utilizar herramientas tales como el Inspector de documento, para eliminar cualquier dato personal. Si desea obtener más ayuda sobre el uso del Inspector de documento, consulte el artículo Quitar datos ocultos e información personal de los documentos de Office.
    • Mayor portabilidad y flexibilidad. Dado que XML almacena datos en formato de texto en lugar de un formato binario propietario, los clientes pueden definir sus propios esquemas y usar los datos de más formas, todo sin tener que pagar derechos de autor. Para obtener más información acerca de los nuevos formatos, vea Introducción a los formatos XML abiertos.
  • Cada programa de Office ofrece un conjunto de herramientas diferente. Las interfaces de usuario y los procesos que siga en Word serán diferentes de las interfaces de usuario y los procesos que use en Excel o PowerPoint. ¿Por qué? Porque lo que sirve para Word no sirve necesariamente para Excel, etc.
  • Los programas de Office pueden trabajar con esquemas, transformaciones y datos de otros proveedores siempre que el formato de XML sea correcto.
  • Algunos de los programas de Office utilizan XML en segundo plano y otros, tales como Microsoft Office OneNote™, no lo admiten en absoluto. La mejor manera de ver cómo admite XML un programa es iniciar la Ayuda en pantalla de ese programa y buscar XML.

Hasta aquí no ha habido problemas pero, ¿qué ocurre si se tiene datos XML sin esquema? Los programas de Office que admiten XML tienen enfoques propios para ayudarle a trabajar con los datos. Por ejemplo, si se abre un archivo XML en Word sin un esquema adjunto, Word muestra las etiquetas y los datos y permite aplicar una transformación si, por ejemplo, el creador del archivo o el departamento de IT proporciona uno. Al menos podrá leer las etiquetas y los datos del archivo.

Excel, por su parte, infiere un esquema si no tiene ya uno. Excel, a continuación, le ofrece la opción de cargar estos datos en un archivo de sólo lectura o de asignar los datos a una lista XML (en Microsoft Office Excel 2003) o en una tabla XML (en Office Excel 2007). Puede utilizar las listas y tablas XML para ordenar, filtrar o agregar cálculos a los datos.

Office Professional 2007 y Microsoft Office 2003 proporcionan el mismo conjunto de herramientas de XML. En Office Professional 2007, debe antes habilitar la compatibilidad con XML y a continuación, iniciar las herramientas desde diferentes ubicaciones. Ahora bien, una vez iniciadas las herramientas, funcionan igual en Microsoft Office 2003 que en Office Professional 2007. Los siguientes pasos explican cómo iniciar las herramientas de XML para Office Excel 2007 y Office Word 2007.

 Nota   Microsoft Office Access 2007 habilita las herramientas de XML de manera predeteminada, de forma que puede omitir los primeros pasos si utiliza Access.

Habilite las herramientas de XML en Office Excel 2007 y Office Word 2007

  1. En Excel o Word, haga clic en el botón de Microsoft OfficeImagen del botón y, a continuación, haga clic en Opciones de Excel u Opciones de Word, según el programa que desee abrir.
  2. Haga clic en Personalizar.
  3. En Opciones principales para trabajar con nombre de aplicación, seleccione Mostrar ficha Programador en la cinta de opciones y, a continuación, seleccione Aceptar.

 Nota   The Ribbon is part of the Interfaz de usuario de Microsoft Office Fluent

Inicie las herramientas de XML en Office Excel 2007 y Office Word 2007

  • En ambos programas, en la ficha Programador, haga clic en cualquier comando disponible en el grupo XML.

Inicie las herramientas de XML en Office Access 2007

  1. Haga clic en la ficha Datos externos.
  2. Siga uno de estos pasos:
    • En el grupo Importar, haga clic en Archivo XML.
    • En el grupo Exportar, haga clic en Más y, a continuación, en Archivo XML.

Volver al principio

Más información

Los vínculos de las secciones siguientes llevan a información relativa al uso de diversos programas de Office y a la escritura de código XML.

MostrarUso de XML en Versión de Office 2007

 Nota   Los vínculos de esta sección cambiarán a medida que el equipo de Office cree y publique más contenido.

Introducción a los formatos XML abiertos

MostrarUsar XML en Microsoft Office 2003

 Nota   Algunos de los vínculos de esta sección van al sitio Web Microsoft Office Online y algunos van a MSDN (Microsoft Developer Network).

MostrarEscribir código XML

MostrarLibros acerca de XML

Volver al principio Volver al principio

 
 
Corresponde a:
Excel 2007, PowerPoint 2007, Word 2007