Ir directamente al contenido de esta página
La finalidad de XML es marcar información —describir datos— de una forma sencilla e independiente de la aplicación que requiera esa información. Un mismo XML se podría utilizar para presentar un contenido en un navegador, importarlo a una base de datos, o intercambiar información entre diversas aplicaciones.
Como todos los lenguajes de marcado, el aspecto que presenta el código XML es el de elementos que engloban texto y que se pueden anidar. Sin embargo, a diferencia de HTML, los elementos no están definidos, sino que se crean en el momento de aplicarlos, adaptados al contenido que se va a recoger. Por ejemplo, este sería un XML con la lista de los discos de TOOL:
<discografía_tool>
<lp>Opiate</lp>
<lp>Undertow</lp>
<lp>AEnima</lp>
<lp>Salival</lp>
<lp>Lateralus</lp>
<lp>10,000 Days</lp>
</discografía_tool>
Para ampliar la información contenida, se podrían anidar distintos elementos dentro de los elementos iniciales:
<discografía_tool>
<lp>
<título>Opiate</título>
<año>1992</año>
<discográfica>Zoo/BMG/Volcano</discográfica>
<temas>
<tema>Sweat</tema>
<tema>Hush</tema>
<tema>Part of Me</tema>
<tema>Cold and Ugly (live)</tema>
<tema>Jerk-Off (live)</tema>
<tema>Opiate</tema>
<tema>The Gaping Lotus Experience</tema>
</temas>
</lp>
<lp>
<título>Undertow</título>
<año>1993</año>
<discográfica>Zoo/BMG/Volcano</discográfica>
<temas>
<tema>Intolerance</tema>
<tema>Prison Sex</tema>
<tema>Sober</tema>
<tema>Bottom</tema>
<tema>Crawl Away</tema>
<tema>Swamp Song</tema>
<tema>Undertow</tema>
<tema>4º</tema>
<tema>Flood</tema>
<tema>Disgustipated</tema>
</temas>
</lp>
…
</discografía_tool>
Por último, cada elemento acepta atributos —siempre que su valor vaya entrecomillado—, que como los primeros son definidos según las necesidades del autor y de los contenidos. Supongamos que posteriormente vamos a utilizar el XML anterior como un archivo de datos. Para poder procesar cada disco por separado, se podría buscar por el título dentro de cada elemento lp
, pero resulta más efectivo añadir un identificador a cada uno:
<discografía_tool>
<lp identificador="01">
<título>Opiate</título>
<año>1992</año>
<discográfica>Zoo/BMG/Volcano</discográfica>
<temas>
<tema>Sweat</tema>
…
</temas>
</lp>
<lp identificador="02">
<título>Undertow</título>
<año>1993</año>
<discográfica>Zoo/BMG/Volcano</discográfica>
<temas>
<tema>Intolerance</tema>
…
</temas>
</lp>
…
</discografía_tool>
Con esto queda descrita la sintaxis de XML. Sólo hay que tener en cuenta una serie de reglas sencillas que se deben aplicar a la hora de crear un documento:
lp
y LP
se considerarían elementos distintos.<elemento_1><elemento_2> contenido </elemento_2></elemento_1>
es correcto, pero <elemento_1><elemento_2> contenido </elemento_1></elemento_2>
genera un error en un analizador sintáctico (parser) de XML.discografía_tool
.<!-- comentario -->
).-
), guión bajo (_
) y punto (.
).XML
, Xml
,etc.).