XML es un formato de datos basado en texto que se utiliza, entre otras cosas, para almacenar datos e in­te­r­ca­m­biar­los en Internet entre pla­ta­fo­r­mas. XML puede ser leído tanto por humanos como por or­de­na­do­res y funciona como base para otros lenguajes como HTML.

¿Qué es XML?

Las siglas XML si­g­ni­fi­can “Ex­te­n­si­ble Markup Language”, es decir, que XML es un lenguaje de marcado. Se utiliza para re­pre­se­n­tar los datos de forma es­tru­c­tu­ra­da en un archivo de texto, que luego puede ser evaluado tanto por personas como por or­de­na­do­res. Este me­ta­le­n­gua­je fue de­sa­rro­lla­do por el World Wide Web Co­n­so­r­tium en 1998 y se ha co­n­ve­r­ti­do en algo in­di­s­pe­n­sa­ble en el de­sa­rro­llo web. La versión actual de XML, la quinta edición, se publicó en 2008. La co­di­fi­ca­ción de ca­ra­c­te­res estándar de los do­cu­me­n­tos XML es UTF-8.

XML: usos y fu­n­cio­na­mie­n­to

XML puede uti­li­zar­se 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 uti­li­zar­se 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 do­cu­me­n­tos XML, se necesita un parser, que pro­po­r­cio­na una interfaz de pro­gra­ma­ción mediante la cual diversas apli­ca­cio­nes pueden acceder al documento XML. Se puede acceder de di­fe­re­n­tes maneras:

  • DOM: El documento XML se re­pre­se­n­ta con una es­tru­c­tu­ra de árbol y puede leerse de esa forma. También puede mo­di­fi­car­se la es­tru­c­tu­ra del árbol y escribir en ella.
  • Pull-API: Los datos del documento XML se procesan de forma se­cue­n­cial 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 co­n­se­cu­ti­vo.

La mayoría de los na­ve­ga­do­res web ya tienen un parser de este tipo in­co­r­po­ra­do, por lo que la lectura de do­cu­me­n­tos XML no supone ningún problema para los na­ve­ga­do­res co­n­ve­n­cio­na­les.

Áreas de apli­ca­ción de XML

El Ex­te­n­si­ble Markup Language se utiliza en muchos ámbitos di­fe­re­n­tes. Además, XML puede co­n­si­de­rar­se 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 ve­c­to­ria­les.

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 de­sa­rro­llo web, para co­n­fi­gu­rar los sitemaps de los sitios web. Además, el Ex­te­n­si­ble Markup Language ofrece la po­si­bi­li­dad de crear bases de datos XML. Estas bases de datos orie­n­ta­das a do­cu­me­n­tos son mucho más flexibles que las bases de datos re­la­cio­na­les y, por eso, son muy populares.

¿Cómo es la es­tru­c­tu­ra de XML?

A primera vista, los do­cu­me­n­tos XML se parecen a los do­cu­me­n­tos HTML. Esto se debe a que HTML se basa en el Ex­te­n­si­ble Markup Language y utiliza la misma notación, que permite usar diversos atributos y etiquetas.

Se puede di­s­ti­n­guir entre di­fe­re­n­tes tipos de do­cu­me­n­tos en XML. Los do­cu­me­n­tos XML centrados en do­cu­me­n­tos son fá­ci­l­me­n­te co­m­pre­n­si­bles para los lectores humanos sin necesidad de in­fo­r­ma­ción adicional y solo presentan una ligera es­tru­c­tu­ra. Sin embargo, esto reduce eno­r­me­me­n­te la capacidad de lectura de los or­de­na­do­res frente a dichos do­cu­me­n­tos. En cierto modo, los do­cu­me­n­tos XML centrados en los datos pueden co­n­si­de­rar­se lo opuesto. El alto grado de es­tru­c­tu­ra­ción va aco­m­pa­ña­do de una elevada le­gi­bi­li­dad por parte de los or­de­na­do­res. Para los lectores humanos, los do­cu­me­n­tos centrados en datos son in­tui­ti­vos, pero di­fí­ci­l­me­n­te in­te­li­gi­bles. Por último, existen los llamados do­cu­me­n­tos se­mie­s­tru­c­tu­ra­dos como solución in­te­r­me­dia.

¿Es XML un lenguaje de pro­gra­ma­ción?

El Ex­te­n­si­ble Markup Language es un lenguaje de marcas y no un lenguaje de pro­gra­ma­ción como tal. No existe un co­m­pi­la­dor XML y no se pueden crear archivos eje­cu­ta­bles uti­li­za­n­do XML. Los lenguajes co­n­s­trui­dos a partir de XML tampoco se co­n­si­de­ran lenguajes de pro­gra­ma­ción.

Los distintos elementos de XML

El co­m­po­ne­n­te más im­po­r­ta­n­te del Ex­te­n­si­ble 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í.
xml

Estos elementos pueden anidarse unos dentro de otros según haga falta. Además, puedes dotar a los elementos de atributos que contengan in­fo­r­ma­ción adicional sobre ellos. Por ejemplo, si quieres añadir un techo y dos ha­bi­ta­cio­nes 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.
xml

Los números de ha­bi­ta­ción asignados a las ha­bi­ta­cio­nes son los atributos me­n­cio­na­dos an­te­rio­r­me­n­te.

Otros co­m­po­ne­n­tes de los do­cu­me­n­tos XML pueden ser co­me­n­ta­rios con la siguiente es­tru­c­tu­ra: .

Entidades en XML

El Ex­te­n­si­ble Markup Language también te ofrece la po­si­bi­li­dad de acceder a entidades pre­de­fi­ni­das. Crear tus propias entidades tampoco supone ningún problema. Son co­n­te­ni­dos es­pe­cí­fi­cos que se definen para su uso posterior. Las entidades también permiten integrar otros do­cu­me­n­tos XML.

Las entidades im­po­r­ta­n­tes 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”-->
xml

Di­fe­re­n­cias 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 Ex­te­n­si­ble Markup Language. Sin embargo, a di­fe­re­n­cia de HTML, XML no tiene un conjunto pre­de­fi­ni­do de atributos y etiquetas pe­r­mi­ti­dos. En XML, los pro­gra­ma­do­res pueden de­fi­ni­r­los to­ta­l­me­n­te. Además, a di­fe­re­n­cia de HTML, XML distingue entre ma­yú­s­cu­las y mi­nú­s­cu­las. Otra di­fe­re­n­cia es que XML siempre requiere etiquetas de cierre. De esta forma, un salto de línea que solamente se tendría que in­tro­du­cir con
en HTML, en XML debe cerrarse con el siguiente código:
.

Ir al menú principal