Está usted en Indice > Construcción > Lenguajes > XML > Lecciones y Paso a Paso > Documentos en XML
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Documentos en XML

Documentos en XML

1.- Introducción

Aunque, a primera vista, un documento XML y un documento HTML puedan parecernos muy parecidos, hay una diferencia principal y es que el HTML no indica lo que se está representando, tiene datos mal definidos con elementos de formato, mientras que el XML contiene datos que se autodefinen: describe el contenido de lo que etiquetan.

Una forma rápida de entender la estructura de un documento XML es viendo un ejemplo:

<?xml version="1.0" encoding="UTF-7" ?>
<album>
<autor>SABINA Y CIA Nos sobran los motivos</autor>
<titulo>Joaquín Sabina</titulo>
<formato>MP3</formato>
<localizacion>Varios CD5 </localizacion>
</album>

Cada documento XML posee una estructura lógica y una física . La estructura lógica del documento es una serie de declaraciones, elementos, comentarios, etc. que se indican en el documento mediante marcas explícitas. La estructura física del documento es una serie de unidades llamadas entidades, es decir, indica los datos que contendrá el documento. Las estructuras lógica y física deben anidarse de forma correcta.
2.- Documento XML "bien formado"

Todos los documentos XML deben estar bien formado, lo que significa que se debe cumplir lo siguiente:

* si no se utiliza DTD, el documento debe comenzar con un Declaración de Documento Standalone
* todas las etiquetas deben estar balanceadas: esto es, todos los elementos que contengan datos de tipo carácter deben tener etiquetas de principio y fin
* todos los valores de los atributos deben ir entrecomillados (el carácter comilla simple [el apóstrofe] puede utilizarse si el valor contiene caracteres comillas dobles, y viceversa): si necesitas ambos, utiliza &apos; y &quot;
* cualquier elemento VACÍO (p.e. aquellos que no tienen etiqueta final como <IMG>, <HR>, y <BR> y otros de HTML) deben terminar con '/>' o debes hacerlos no VACÍOS añadiéndoles una etiqueta de fin.
* no debe haber etiquetas aisladas (< ó &) en el texto (p.e. debe darse como &lt; y &amp;), y la secuencia ]]> debe darse como ]]&gt; si no ocurre esto como final de una sección marcada como CDATA;
* los elementos deben anidar dentro de sí sus propiedades (no se deben sobreponer etiquetas, como en el resto de SGML);
* Los ficheros bien-formados sin-DTD pueden utilizar atributos en sus elementos, pero éstos deben ser todos del tipo CDATA, por defecto. El tipo CDATA (character DATA) son caracteres..

Según la especificación de XML del W3C, un documento XML está bien formado si:

* Tomado como un todo, cumple la regla denominada "document".
* Respeta todas las restricciones de buena formación dadas en la especificicación.
* Cada una de las entidades analizadas que se referencia directa o indirectamente en el documento está bien formada.

Cumplir la regla "document" antes mencionada significa:

* Que continene uno o más elementos.
* Hay exactamente un elemento, llamado raíz, o elemento documento, del cual ninguna parte aparece en el contenido de ningún otro elemento.
* Para el resto de elementos, si la etiqueta de comienzo está en el contenido de algún otro elemento, la etiqueta de fin está en el contenido del mismo elemento. Es decir, los elementos delimitados por etiquetas de principio y final se anidan adecuadamente mutuamente.

3.- Estructura jerárquica de los elementos

Los documentos XML deben tener una estructura jerárquica con lo que respecta a las etiquetas que delimitan sus elementos. Esto significa que los elementos deben estar correctamente anidados y que los elementos no se pueden solapar entre ellos. Además los elementos con contenido deben estar correctamente cerrados.

Ejemplo incorrecto:

<?xml version="1.0" ?>

<nombre>Richal

Ejemplo correcto:

<?xml version="1.0" ?>

<nombre>Richal </nombre>

Sólo puede haber un elemento raiz, en el que están contenidos todos los demás, es decir, la jerarquía de elementos XML sólo puede tener un elemento inicial.

Ejemplo incorrecto:

<?xml version="1.0" ?>

<nombre>Richal</nombre>
<email>richal@ejemplo.com</email>

Ejemplo correcto:

<?xml version="1.0" ?>
<alumnos>
<nombre>Richal</nombre>
<email>richal@ejemplo.com</email>
</alumnos>

4.- Tipos de letra y fines de línea

El XML, a diferencia del HTML, es "case sensitive", es decir, trata a las mayúsculas y las minúsculas como caracteres diferentes. Si un elemento de XML está definido como "Elemento", no podemos usar "elemento" para referirnos a él:

Ejemplo con Case sensitive y solapamiento.

<?xml version="1.0" ?>
<alumnos>

<Nombre>Richal</nombre>
<email>richal@ejemplo.com</email>

<nombre>Chicho</Nombre>
<email>chicho@ejemplo.com</email>

</alumnos>

En la edición de documentos XML , por claridad, se suele organizar en varias líneas, que, normalmente, se componen de carácter de fin de línea y otro de retorno de carro. Un parser XML pasa únicamente a la aplicación el caracter de fin de línea.
5.- Espacios en blanco

En la edición de documentos XML, suele ser conveniente utilizar "espacios en blanco" (espacios, tabuladores y líneas en blanco), que normalmente son innecesarios en una versión distribuible a través de la red, aunque también existen ocasiones en los que es deseable la representación de esos "espacios en blanco" (por ejemplo, código fuente).

Para que las aplicaciones preserven la representación de esos espacios en blanco en un elemento se utiliza el atributo xml:space que puede tomar los valores preserve o default, para conservar los espacios en blanco o aplicar el tratamiento por defecto, respectivamente.

Ejemplo

<?xml version="1.0"?>
<textos>
<cita> A quien madruga Dios le ayuda ?</cita>
<poema xml:space="preserve">
El monte es verde,
el agua incolora
y a mi no se me ocurre una rima
</poema>
</textos>

6.- Nombrando cosas

Un nombre en XML empieza con una letra y continúa con letras, dígitos, rayas, dos puntos o puntos, denominados de forma global como caracteres de nombre. Los nombre que empiezan por "xml" están reservados, es decir, no se pueden crear nombres que empiecen por la cadena "xml", "XML", "Xml" o cualquier otra variante, por ejemplo, el atributo xml:space visto en el apartado anterior.
7.- Marcas y datos

Las construcciones como etiquetas, referencias de entidad y declaraciones (ya veremos que es cada cosa) se denominan "marcas". Estas son las parte del documento XML que entiende el parser. El resto del documento que se encuentra entre las marcas, son los datos entendible por las personas. Las marcas en un documento XML son aquellas partes que empiezan con "<" y que acaban con ">" (por ejemplo, <Hola>, o bien, en el caso de las referencias de entidad, empiezan por "&" y acaban con ";" (por ejemplo, &quot; para representar las comillas dobles).

Autor: F. Javier García
http://flanagan.ugr.es/xml/documento.htm



Usuarios que han visto este tema también han visto...

- Comentarios en XML
- Funciones de interprete XML en PHP
- Tecnologías asociadas XML
- Lenguaje de Enlace XML (XLink)


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 30-08-2008 a las 16:34:13