XML: un vistazo al Extensible Markup Language
XML es un formato de datos basado en texto que se utiliza, entre otras cosas, para almacenar datos e intercambiarlos en Internet entre plataformas. XML puede ser leído tanto por humanos como por ordenadores y funciona como base para otros lenguajes como HTML.
¿Qué es XML?
Las siglas XML significan “Extensible Markup Language”, es decir, que XML es un lenguaje de marcado. Se utiliza para representar los datos de forma estructurada en un archivo de texto, que luego puede ser evaluado tanto por personas como por ordenadores. Este metalenguaje fue desarrollado por el World Wide Web Consortium en 1998 y se ha convertido en algo indispensable en el desarrollo web. La versión actual de XML, la quinta edición, se publicó en 2008. La codificación de caracteres estándar de los documentos XML es UTF-8.
XML: usos y funcionamiento
XML puede utilizarse de varias maneras. Sin embargo, antes de poder utilizar XML hay que abrir un archivo XML. Se trata de un documento de texto con la extensión .xml que puede crearse con cualquier editor de texto. Para que el documento sea válido, hay que respetar la sintaxis del lenguaje. Este tipo de documento puede utilizarse siempre que HTML haya llegado a sus límites. Esto suele ocurrir, por ejemplo, con Sitemaps de sitios web. Así se crea un archivo sitemap.xml.
Para leer los documentos XML, se necesita un parser, que proporciona una interfaz de programación mediante la cual diversas aplicaciones pueden acceder al documento XML. Se puede acceder de diferentes maneras:
- DOM: El documento XML se representa con una estructura de árbol y puede leerse de esa forma. También puede modificarse la estructura del árbol y escribir en ella.
- Pull-API: Los datos del documento XML se procesan de forma secuencial y, en su mayor parte, basándose en eventos.
- SAX: En este caso también se trata el documento XML como un flujo de datos consecutivo.
La mayoría de los navegadores web ya tienen un parser de este tipo incorporado, por lo que la lectura de documentos XML no supone ningún problema para los navegadores convencionales.
Áreas de aplicación de XML
El Extensible Markup Language se utiliza en muchos ámbitos diferentes. Además, XML puede considerarse la base de otros lenguajes. Por ejemplo, HTML, el Hypertext Markup Language, se basa en XML, al igual que SVG, el formato de archivo más popular para gráficos vectoriales.
Sin embargo, XML no solo es muy relevante como base para otros lenguajes. El XML puro se utiliza a menudo, sobre todo en el ámbito del desarrollo web, para configurar los sitemaps de los sitios web. Además, el Extensible Markup Language ofrece la posibilidad de crear bases de datos XML. Estas bases de datos orientadas a documentos son mucho más flexibles que las bases de datos relacionales y, por eso, son muy populares.
¿Cómo es la estructura de XML?
A primera vista, los documentos XML se parecen a los documentos HTML. Esto se debe a que HTML se basa en el Extensible Markup Language y utiliza la misma notación, que permite usar diversos atributos y etiquetas.
Se puede distinguir entre diferentes tipos de documentos en XML. Los documentos XML centrados en documentos son fácilmente comprensibles para los lectores humanos sin necesidad de información adicional y solo presentan una ligera estructura. Sin embargo, esto reduce enormemente la capacidad de lectura de los ordenadores frente a dichos documentos. En cierto modo, los documentos XML centrados en los datos pueden considerarse lo opuesto. El alto grado de estructuración va acompañado de una elevada legibilidad por parte de los ordenadores. Para los lectores humanos, los documentos centrados en datos son intuitivos, pero difícilmente inteligibles. Por último, existen los llamados documentos semiestructurados como solución intermedia.
¿Es XML un lenguaje de programación?
El Extensible Markup Language es un lenguaje de marcas y no un lenguaje de programación como tal. No existe un compilador XML y no se pueden crear archivos ejecutables utilizando XML. Los lenguajes construidos a partir de XML tampoco se consideran lenguajes de programación.
Los distintos elementos de XML
El componente más importante del Extensible Markup Language son los llamados elementos, cuyos nombres pueden elegirse con total libertad. Los elementos comienzan y acaban con etiquetas. Por ejemplo, si quieres declarar el elemento “casa” en tu documento XML, quedaría de la siguiente manera:
<casa></casa>
El contenido de la casa se puede detallar aquí.
xmlEstos elementos pueden anidarse unos dentro de otros según haga falta. Además, puedes dotar a los elementos de atributos que contengan información adicional sobre ellos. Por ejemplo, si quieres añadir un techo y dos habitaciones numeradas a tu casa, el documento XML se modifica de la siguiente manera:
<casa></casa>
El contenido de la casa se puede detallar aquí.
<techo></techo>
El techo de la casa.
< habitación número = “1”>
Habitación 1 de tu casa.
< habitación número = “2”>
Habitación 2 de tu casa.
xmlLos números de habitación asignados a las habitaciones son los atributos mencionados anteriormente.
Otros componentes de los documentos XML pueden ser comentarios con la siguiente estructura: .
Entidades en XML
El Extensible Markup Language también te ofrece la posibilidad de acceder a entidades predefinidas. Crear tus propias entidades tampoco supone ningún problema. Son contenidos específicos que se definen para su uso posterior. Las entidades también permiten integrar otros documentos XML.
Las entidades importantes para el uso de XML son, por ejemplo, <; para el carácter especial < o > para el carácter especial >. Puedes crear tus propias entidades en el documento XML de la siguiente manera:
<!--ENTITY ejp “Ejemplo de entidad”-->
xmlDiferencias entre XML y HTML
HTML, llamado HTML5 en su quinta versión, está basado en XML por lo que, a primera vista, se parece mucho al Extensible Markup Language. Sin embargo, a diferencia de HTML, XML no tiene un conjunto predefinido de atributos y etiquetas permitidos. En XML, los programadores pueden definirlos totalmente. Además, a diferencia de HTML, XML distingue entre mayúsculas y minúsculas. Otra diferencia es que XML siempre requiere etiquetas de cierre. De esta forma, un salto de línea que solamente se tendría que introducir con
en HTML, en XML debe cerrarse con el siguiente código:
.