Thursday, February 23, 2006

XML. Un estándar sin límites.

XML (Extensible Markup Language) es un lenguaje de marcado para documentos de todas clases que ofrece un formato para la descripción de datos estructurados, es decir, no sólo almacena datos, sino también la estructura de éstos. Este constituye un gran paso adelante para lograr la interoperabilidad sintáctica (capacidad de los sistemas operativos para leer datos procedentes de otros sistemas operativos y obtener una representación que puedan usar).

La tecnología XML pretende convertirse en la columna vertebral del intercambio de información hombre-máquina en pos de la consolidación de la sociedad del conocimiento. Esto se debe a que hoy en día los requerimientos funcionales de los sistemas de gestión implican un procesamiento cada vez más inteligente de los datos por parte de las máquinas, permitiendo obtener recuperaciones más ricas en información, en pos de la gestión del conocimiento en las más diversas esferas del desarrollo humano.

A pesar de su sencillez aparente, XML está transformando completamente la creación y el uso de software. El Web revolucionó la comunicación entre usuarios y aplicaciones. XML está revolucionando la comunicación entre aplicaciones o, de forma más general, la comunicación entre equipos, pues ofrece un formato de datos universal que permite adaptar o transformar fácilmente la información.

Muy pronto, si no es ya, que una aplicación trabaje con formatos basados en XML será una cualidad tan valorada como que sea GPL.

Ventajas del XML

Una de las ya mencionadas es la interoperabilidad sintáctica, esta significa que en todos los sistemas operativos involucrados, tanto la codificación de los datos como los protocolos de acceso son compatibles. Desde luego, esto no implica que los sistemas operativos procesen los datos de una manera consistente con su significado.

Otra de las ventajas es que a diferencia del HTML, que se centra en la representación de la información, XML se centra en la información en sí misma. La particularidad más importante del XML es que no posee etiquetas prefijadas con anterioridad, ya que es el propio diseñador el que las crea a su antojo, dependiendo del contenido del documento. De esta forma, los documentos XML con información sobre libros deberían tener etiquetas como <AUTOR>, <EDITORIAL>, <N_DE_PAGINAS>, <PRECIO>, etc., mientras que los documentos XML relacionados con educación incluyen etiquetas del tipo de <ASIGNATURA>, <ALUMNO>, <CURSO>, <NOTA>, etc.

¿ Cómo se ve todo esto ?

Un documento XML consiste en una serie anidada de etiquetas abiertas (<) y cerradas (>), donde cada etiqueta tiene ciertos valores. Es potestad del programador definir los nombres de las etiquetas y sus combinaciones permitidas (por ejemplo, que una etiqueta no puede encontrarse fuera de unas etiquetas

). Para ello, puede usar documentos DTD (Document TypeDefinition, definición de tipos de documentos) o esquemas XML. Las DTD y los esquemas XML son usadas por los analizadores sintácticos (parsers) para comprobar si un documento XML es válido; es decir, si cumple la gramática.

Ejemplo de una DTD


Ejemplo de un documento XML válido según la anterior DTD.


Sintáxis XML

  • El prólogo

Aunque no es obligatorio, los documentos XML pueden empezar con unas líneas que describen la versión de XML, el tipo de documento, y otras cosas.

La primera, o "declaración XML", define la versión de XML usada. Hasta ahora sólo hay una, la "1.0" Además, en la "declaración XML" especificamos la codificación del documento.

Además, se puede incluir una declaración de documento autónomo (standalone), que controla qué componentes de la DTD son necesarios para completar el procesamiento del documento.


<
?xml version="1.0" encoding="UTF-7" standalone="yes"?>

La segunda, o "declaración de tipo de documento", definimos que Declaración de Tipo de Documento (DTD - Document Type Definition) valida y define los datos que contiene nuestro documento XML.


<!DOCTYPE MENSAJE SYSTEM "mensaje.dtd">

  • Comentarios

A veces es conveniente insertar comentarios en el documento XML, que sean ignorados por el procesado de la información y las reproducciones del documento. Los comentarios tienen el mismo formato que los comentarios de HTML. Es decir, comienzan por la cadena "<!--" y terminan con "-->".


Se pueden introducir comentarios en cualquier lugar de la instancia o del prólogo, pero

nunca dentro de las declaraciones, etiquetas, u otros comentarios.

  • Estructura jerárquica de elementos

Los documentos XML deben seguir una estructura estrictamente jerárquica con lo que respecta a las etiquetas que delimitan sus elementos. Una etiqueta debe estar correctamente "incluida" en otra. Además, los elementos con contenido, deben estar correctamente "cerrados". En el siguiente ejemplo, la primera línea sería incorrecta en XML, no así la segunda:


<
LI>HTML <B>permite <I>esto</B></I>
<
LI>En XML la <B>estructura <I>es</I> jerárquica</B></LI>

  • Marcado y datos

Es sencillo reconocer las marcas en un documento XML. Son aquellas porciones que empiezan con "<" y acaban con ">", o bien, en el caso de las referencias de entidad, empiezan por "&" y acaban con ";".

  • Nombrando cosas

Al utilizar XML, es necesario asignar nombres a las estructuras, tipos de elementos, entidades, elementos particulares, etc. En XML los nombres tienen algunas características en común.

Según la especificación XML 1.0

Un nombre [empieza] con una letra, y [continúa] con letras, dígitos, guiones, rayas, dos puntos o puntos, denominados de forma global como caracteres de nombre. El resto de caracteres, como algunos símbolos, y espacios en blanco, no se pueden usar.

Los nombres que empiezan con la cadena "xml", se reservan para la estandarización de esta o de futuras versiones de esta especificación.

  • Un solo elemento raíz

Los documentos XML sólo permiten un elemento raíz, del que todos los demás sean parte. Es decir, la jerarquía de elementos de un documento XML bien-formado sólo puede tener un elemento inicial.

  • Etiquetas vacías

HTML permite elementos sin contenido; XML también, pero la etiqueta debe ser de la siguiente forma: En el siguiente ejemplo, la primera línea sería incorrecta en XML, no así la segunda:


<LI>Esto es HTML<BR>en el que casi todo está permitido</LI>
<LI>En XML, somos<BR/> más restrictivos</LI>

  • Valores de atributos

Los valores de atributos en XML, al contrario de HTML, siempre deben estar encerradas en comillas simples ( ' ) o dobles ( " ). En el siguiente ejemplo, la primera línea sería incorrecta en XML, no así la segunda
Tipo de letra, espacios en blanco

El XML es sensible al tipo de letra utilizado, es decir, trata las mayúsculas y minúsculas como caracteres diferentes (case-sensitive).

Existe un conjunto de caracteres denominados "espacios en blanco" que los procesadores XML tratan de forma diferente en el marcado XML. Estos caracteres son los"espacios" (Unicode/ASCII 32), tabuladores (Unicode/ASCII 9), retornos de carro (Unicode/ASCII 13) y los saltos de línea (Unicode/ASCII 10).

La especificación XML 1.0 permite el uso de esos "espacios en blanco" para hacer más legible el código, y en general son ignorados por los procesadores XML.

  • Entidades predefinidas

En XML 1.0, se definen cinco entidades para representar caracteres especiales y que no se interpreten como marcado por el procesador XML.

  • Secciones CDATA

CDATA (Character Data) es otra construcción en XML que permite especificar datos, utilizando cualquier carácter, especial o no, sin que se interprete como marcado XML.


<parrafo>Lo siguiente es un ejemplo de HTML.

<ejemplo>

<![CDATA[

<HTML>

<HEAD><TITLE>Rock & Roll</TITLE></HEAD>

]]>

</ejemplo>

</parrafo>

Como hemos visto, dentro de una sección CDATA podemos poner cualquier cosa, que no será interpretada como algo que no es. Existe empero una excepción, y es la cadena "]]>" con la que termina el bloque CDATA. Esta cadena no puede utilizarse dentro de una sección CDATA.


0 Comments:

Post a Comment

<< Home