eXtensible Markup Language
XML, siglas en
inglés de eXtensible Markup Language ('lenguaje de marcas extensible'), es un
lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C). Deriva
del lenguaje SGML y permite definir la gramática de lenguajes específicos (de
la misma manera que HTML es a su vez un lenguaje definido por SGML) para
estructurar documentos grandes. A diferencia de otros lenguajes, XML da soporte
a bases de datos, siendo útil cuando varias aplicaciones se deben comunicar
entre sí o integrar información. (Bases de datos Silberschatz).
XML no ha nacido
sólo para su aplicación para Internet, sino que se propone como un estándar
para el intercambio de información estructurada entre diferentes plataformas.
Se puede usar en bases de datos, editores de texto, hojas de cálculo y casi
cualquier cosa imaginable.
XML es una
tecnología sencilla que tiene a su alrededor otras que la complementan y la
hacen mucho más grande y con unas posibilidades mucho mayores. Tiene un papel
muy importante en la actualidad ya que permite la compatibilidad entre sistemas
para compartir la información de una manera segura, fiable y fácil.
Ventajas del XML
- Es extensible: Después de diseñado y puesto en producción, es posible extender XML con la adición de nuevas etiquetas, de modo que se pueda continuar utilizando sin complicación alguna.
- El analizador es un componente estándar, no es necesario crear un analizador específico para cada versión de lenguaje XML. Esto posibilita el empleo de cualquiera de los analizadores disponibles. De esta manera se evitan bugs y se acelera el desarrollo de aplicaciones.
- Si un tercero decide usar un documento creado en XML, es sencillo entender su estructura y procesarla.
- Mejora la compatibilidad entre aplicaciones. Podemos comunicar aplicaciones de distintas plataformas, sin que importe el origen de los datos, es decir, podríamos tener una aplicación en Linux con una base de datos Postgres y comunicarla con otra aplicación en Windows y Base de Datos MS-SQL Server.
- Transformamos datos en información, pues se le añade un significado concreto y los asociamos a un contexto, con lo cual tenemos flexibilidad para estructurar documentos.
Estructura de un documento XML
La tecnología
XML busca dar solución al problema de expresar información estructurada de la
manera más abstracta y reutilizable posible. Que la información sea
estructurada quiere decir que se compone de partes bien definidas, y que esas
partes se componen a su vez de otras partes. Entonces se tiene un árbol de
trozos de información. Ejemplos son un tema musical, que se compone de
compases, que están formados a su vez por notas. Estas partes se llaman
elementos, y se las señala mediante etiquetas.
Una etiqueta
consiste en una marca hecha en el documento, que señala una porción de éste
como un elemento. Un pedazo de información con un sentido claro y definido. Las
etiquetas tienen la forma <nombre>, donde nombre es el nombre del
elemento que se está señalando.
A continuación
se muestra un ejemplo para entender la estructura de un documento XML:
<?xml
version="1.0" encoding="UTF-8" ?>
<!DOCTYPE
Edit_Mensaje SYSTEM "Edit_Mensaje.dtd">
<Edit_Mensaje>
<Mensaje>
<Remitente>
<Nombre>Nombre del
remitente</Nombre>
<Mail> Correo del
remitente </Mail>
</Remitente>
<Destinatario>
<Nombre>Nombre del
destinatario</Nombre>
<Mail>Correo del
destinatario</Mail>
</Destinatario>
<Texto>
<Asunto>
Este es mi documento con
una estructura muy sencilla
no contiene atributos ni
entidades...
</Asunto>
<Parrafo>
Este es mi documento con
una estructura muy sencilla
no contiene atributos ni
entidades...
</Parrafo>
</Texto>
</Mensaje>
</Edit_Mensaje>
Aquí está el
ejemplo de código del DTD del documento «Edit_Mensaje.dtd»:
<?xml
version="1.0" encoding="ISO-8859-1" ?>
<!-- Este es
el DTD de Edit_Mensaje -->
<!ELEMENT
Mensaje (Remitente, Destinatario, Texto)*>
<!ELEMENT
Remitente (Nombre, Mail)>
<!ELEMENT
Nombre (#PCDATA)>
<!ELEMENT
Mail (#PCDATA)>
<!ELEMENT
Destinatario (Nombre, Mail)>
<!ELEMENT
Nombre (#PCDATA)>
<!ELEMENT
Mail (#PCDATA)>
<!ELEMENT
Texto (Asunto, Parrafo)>
<!ELEMENT
Asunto (#PCDATA)>
<!ELEMENT
Parrafo (#PCDATA)>
Documentos XML bien formados y control de
errores
Los documentos
denominados como «bien formados» (del inglés well formed) son aquellos que
cumplen con todas las definiciones básicas de formato y pueden, por lo tanto,
analizarse correctamente por cualquier analizador sintáctico (parser) que
cumpla con la norma. Se separa esto del concepto de validez que se explica más
adelante.
Los documentos
han de 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, es decir, las etiquetas deben estar correctamente anidadas.
Los elementos con contenido deben estar correctamente cerrados.
Los documentos
XML sólo permiten un elemento raíz del que todos los demás sean parte, es
decir, solo pueden tener un elemento inicial.
Los valores
atributos en XML siempre deben estar encerrados entre comillas simples o
dobles.
El XML es
sensible a mayúsculas y minúsculas. Existe un conjunto de caracteres llamados
espacios en blanco (espacios, tabuladores, retornos de carro, saltos de línea)
que los procesadores XML tratan de forma diferente en el marcado XML.
Es necesario
asignar nombres a las estructuras, tipos de elementos, entidades, elementos
particulares, etc. En XML los nombres tienen alguna característica en común.
Las
construcciones como etiquetas, referencias de entidad y declaraciones se
denominan marcas; son partes del documento que el procesador XML espera
entender. El resto del documento entre marcas son los datos «entendibles» por
las personas.
Partes de un documento XML
Un documento XML
está formado por el prólogo y por el cuerpo del documento así como texto de
etiquetas que contiene una gran variedad de efectos positivos o negativos en la
referencia opcional a la que se refiere el documento, hay que tener mucho
cuidado de esa parte de la gramática léxica para que se componga de manera
uniforme.
Prólogo
Aunque no es
obligatorio, los documentos XML pueden empezar con unas líneas que describen la
versión XML, el tipo de documento y otras cosas.
El prólogo de un
documento XML contiene:
Una declaración
XML. Es la sentencia que declara al documento como un documento XML.
Una declaración
de tipo de documento. Enlaza el documento con su DTD (definición de tipo de
documento), o el DTD puede estar incluido en la propia declaración o ambas
cosas al mismo tiempo.
Uno o más
comentarios e instrucciones de procesamiento.
EJEMPLO:
<?xml version="1.0" encoding="UTF-8"?>
Cuerpo
A diferencia del
prólogo, el cuerpo no es opcional en un documento XML, el cuerpo debe contener
solo un elemento raíz, característica indispensable también para que el
documento esté bien formado. Sin embargo es necesaria la adquisición de datos
para su buen funcionamiento.
EJEMPLO:
<Edit_Mensaje>
(...)
</Edit_Mensaje>
Elementos
Los elementos
XML pueden tener contenido (más elementos, caracteres o ambos), o bien ser
elementos vacíos.
Atributos
Los elementos
pueden tener atributos, que son una manera de incorporar características o
propiedades a los elementos de un documento. Deben ir entre comillas.
Por ejemplo, un
elemento «estudiante» puede tener un atributo «Mario» y un atributo «tipo», con
valores «come croquetas» y «taleno» respectivamente.
<Estudiante
Mario="come croquetas" tipo="taleno">Esto es un día que
Mario va paseando…</Estudiante>
Entidades predefinidas
Entidades para
representar caracteres especiales para que, de esta forma, no sean
interpretados como marcado en el procesador XML.
Ejemplo: entidad
predefinida: & carácter: &.
Secciones CDATA
Artículo
principal: Anexo:Etiquetas HTML/XHTML.
Es una
construcción en XML para especificar datos utilizando cualquier carácter sin
que se interprete como marcado XML. No confundir con 2(#PCDATA) que es para los
elementos. Permite que caracteres especiales no rompan la estructura. Ejemplo:
<![CDATA[contenido
especial: áéíóúñ&]]>
Comentarios
Comentarios a
modo informativo para el programador que han de ser ignorados por el
procesador. Los comentarios en XML tienen el siguiente formato:
<!--- Esto es un comentario --->
<!-- Otro comentario -->
Validez
Que un documento
esté «bien formado» solamente se refiere a su estructura sintáctica básica, es
decir, que se componga de elementos, atributos y comentarios como XML
especifica que se escriban. Ahora bien, cada aplicación de XML, es decir, cada
lenguaje definido con esta tecnología, necesitará especificar cuál es
exactamente la relación que debe verificarse entre los distintos elementos
presentes en el documento.
Esta relación
entre elementos se especifica en un documento externo o definición (expresada
como DTD —Document Type Definition, 'Definición de Tipo de Documento'— o como
XSchema). Crear una definición equivale a crear un nuevo lenguaje de marcado,
para una aplicación específica.
No hay comentarios:
Publicar un comentario