Introducción al lenguaje XML
La característica principal de los lenguajes de marcas es que añade al texto etiquetas para estructurar la presentación. En Html existen etiquetas predefinidas como <html>, <head>, <body>, etc.. XML (Extensible Markup Languaje) no es un lenguaje de marcas. Más bien se trata de un metalenguaje con el que podemos decidir el nombre de cada etiqueta según necesitemos. Se trata de un subconjunto del lenguaje SGML (Standard Generalized Markup Languaje). Una versión resumida de dicho lenguaje.Ventajas del empleo de XML
- Fácil creación de documentos y su fácil comprensión.
- Los documentos Xml pueden ser fácilmente procesados informáticamente.
- Pueden usarse en una gran variedad de campos gracias a sus etiquetas personalizadas.
- Facilita el intercambio de información entre distintas aplicaciones, independientemente de la plataforma y el orígen de los datos.
- Hay analizadores estándar para documentos Xml.
Contenido de un documento XML
- La base de un documento Xml es el elemento.
- Un elemento puede contener atributos, texto y otros elementos.
- Cada elemento debe tener una etiqueta de apertura y otra de cierre y también puede haber elementos vacíos.
- El nombre del elemento es el que figura en la etiqueta de apertura y de cierre, que deben ser iguales.
- Puede contener cualquier carácter alfabético, número y algunos signos de puntuación.
- El nombre del elemento no puede contener espacios ni comenzar por número, «.» ó «-«.
- Aunque es posible usar «:» como primer carácter del elemento, se recomienda no hacerlo ya que es la sintaxis usada para los espacios de nombres.
- Se debe evitar también que el nombre empiece por «xml».
<materia>Matemáticas</materia>
Atributos
Los atributos añaden características o propiedades a los elementos.- Deben situarse dentro de la etiquera de apertura separados por espacios.
- No hay un número máximo de atributos para un elemento aunque no puede haber atributos repetidos.
- Los nombres de los atributos siguen las mismas reglas que los elementos.
- El valor debe ir entre comillas y no puede haber un atributo sin valor.
<materia profesor="Jesús Pérez">Matemáticas</materia>
Texto
Entre las etiquetas de apertura y cierre de un elemento puede haber texto y otros elementos. El texto puede contener cualquier carácter menos «<» ó «&». Si es necesario ponerlos usaremos entidades. Esto no sería válido porque contiene el carácter «&» en al atributo<libro titulo="Guerra & paz">Novela bélica</libro>
Se podría solucionar con la entidad «&» o con el carácter «#x26;«
<libro titulo="Guerra & paz">Novela bélica</libro>
Comentarios
Si queremos incluir comentarios en un documento Xml se pondrían igual que en el lenguaje Html<!--Comentario en Xml-->
Instrucciones de procesamiento
Las instrucciones de procesamiento se utilizan para darle instrucciones a las aplicaciones que procesan los documentos Xml. Suelen ponerse al principio del documento y van entre las etiquetas «<?» y «?>«.<?xml-stylesheet type="text/xsl" href="procesos.xsl"?>
Prólogo
El prólogo de un documento Xml debe ponerse al principio del mismo y debe indicar la versión de Xml empleada y otros atributos opcionales Ejemplo de un prólogo Xml<?xml version="1.1" encoding="utf-8"?>
Espacios en blanco
Para poder entender mejor los documentos Xml e utilizan una serie de espacios en blanco, tabulaciones y saltos de línea. Las aplicaciones que procesan los documentos Xml eliminan esos espacios y tratan el documento como una sola línea de texto. Veamos un ejemplo de un documento Xml con espacios<profesores>
<matemáticas cod="mat">
Julián Pérez
</matemáticas>
<historia cod="his">
Juan Calo
</historia>
<geografía cod="geo">
Pedro Ruíz
</geografía>
</profesores>
Y el mismo documento sin espacios, más difícil de leer
<profesores><matemáticas cod="mat">Julián Pérez</matemáticas><historia cod="his">Juan Calo</historia><geografía cod="geo">Pedro Ruíz</geografía></profesores>
Si queremos que la aplicación procese el documento preservando los espacios, por ejemplo, si contiene un poema, podemos indicárselo con el atributo «xml:space» con el valor «preserve«.
<libros>
<libro>
<autor>Antonio Machado</autor>
<poema xml:space="preserve">
Si el arte es fuego,
será con sombras divinas,
juego de manos de ciego.
</poema>
</libro>
</libros>
Lenguaje del documento
Para definir el lenguaje de un documento Xml existe el atributo «xml:lang» y su valor será el código de dos letras incluído en la norma ISO 639-1. Veamos un ejemplo de un documento con distintos lenguajes<eslogans>
<eslogan>
<creador>
BMW
</creador>
<frase xml:lang="es">
¿Te gusta conducir?
</frase>
</eslogan>
<eslogan>
<creador>
Yamaha
</creador>
<frase xml:lang="en">
Revs your Heart
</frase>
</eslogan>
</eslogans>
La sección CDATA
Cuando el uso de entidades se vuelve incómodo por la cantidad de caracteres especiales que tenemos que sustituir, puede ser muy útil utilizar una sección CDATA. Se abre con la expresión «<![CDATA[» y se cierra con «]]>«. El texto que ponemos dentro de CDATA es ignorado por el analizador y nos permite usar todo tipo de caracteres, incluyendo «<» y «&«. Veamos un ejemplo<códigos>
<código>
<nombre>Imágen</nombre>
<texto><![CDATA[<img src="ruta" alt="nombre" width="ancho" height="alto">]]></texto>
</código>
<código>
<nombre>Enlace
<texto><![CDATA[<a href="ruta">Enlace</a>]]></texto>
</código>
</códigos>
Si te ha gustado no olvides compartir en redes sociales.
Espero que te haya servido. Cualquier duda deja un comentario. Un saludo