Tutoriales de Informática y Dispositivos Móviles
Tutoriales de Informática y Dispositivos Móviles
Introducción al lenguaje Xml

Introducción al lenguaje Xml

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».
Ejemplo de elemento
<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.
Ejemplo de elemento con atributo
<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 «&amp;» o con el carácter «#x26;«
<libro titulo="Guerra &amp; 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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Translate »
A %d blogueros les gusta esto: