Este documento explica las características básicas de XML, incluyendo que XML permite definir etiquetas semánticas propias, su historia, objetivos y usos, estructura de documentos XML, ejemplos, y tecnologías relacionadas como DTD, CSS, SAX y DOM. También contrasta las diferencias entre HTML y XML en términos de estructurar vs formatear la información.
2. Que es XML…?
(eXtensible Markup Language ó Lenguaje extensible de
marcas) es un conjunto de reglas que sirven para definir
etiquetas semánticas para organizar un documento. Además
el XML es un metalenguaje que te permite diseñar tu propio
lenguaje de etiquetas. A diferencia del un lenguaje de
etiquetas normal (HTML), XML te permite definir tu propio
lenguaje..
Viéndolo desde un punto de vista simple y sin meternos en
definiciones muy técnicas. XML nos ayuda a tener nuestra
información estructurada jerárquicamente por medio de
etiquetas ó Tags que nosotros mismos crearemos.
4. Objetivos y usos de XML
Objetivos y usos del XML El XML se creó para que
cumpliera varios objetivos.
• Que fuera idéntico a la hora de servir, recibir y procesar
la información que el HTML, para aprovechar toda la
tecnología implantada para este último.
• Que fuera formal y conciso desde el punto de vista de
los datos y la manera de guardarlos.
• Que fuera extensible, para que lo puedan utilizar en tod
os los campos del conocimiento.
• Que fuese fácil de leer y editar.
• Que fuese fácil de implantar, programar y aplicar a los
distintos sistemas.
5. Estructura de un
documento
Aunque a primera vista, un documento XML puede parecer
similar a HTML, hay una diferencia principal Un documento
XML contiene datos que se autodefinen, exclusivamente. En
XML se separa el contenido de la presentación de forma
total.
6. Ejemplo:
<?xml version="1.0"?>
<mensaje>
<remite>
<nombre>Alfredo Reino</nombre>
<email>alf@ibium.com</email>
</remite>
<destinatario>
<nombre>Bill Clinton</nombre>
<email>president@whitehouse.gov</email>
</destinatario>
<asunto>Hola Bill</asunto>
<texto>
<parrafo>¿Hola qué tal? Hace <enfasis>mucho</enfasis> que no
escribes. A ver si llamas y quedamos para tomar algo.
</parrafo>
</texto>
</mensaje>
7. Este mismo documento puede ser visto de forma
gráfica, para comprender mejor la estructura de un
documento XML.
8. Componentes de un
Documento XML
Comentarios
<!-- Esto es comentario <ñññññ-d#dd -->
Elementos
<nombre id="surname">Perez</nombre>
<vacia color="verde"/>'
Declaraciones de tipo elemento
El elemento cliente debe contener a nombre y apellidos,
puede contener a nif y tlf - a este incluso más de una vez- y
debe contener al menos una vez la dirección del cliente
(para poder enviarle el pedido a casa).
<!ELEMENT cliente (nombre,apellidos,nif?,tlf*,direccion+)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT apellidos(ape1,ape2?)>
9. Declaraciones de listas de atributos
Valor Significado
CDATA El atributo será una cadena de caracteres.
No todos los caracteres son válidos.
Usaremos secciones PCDATA cuando queramos incluir
los carácteres no
válidos.
ID El atributo sirve para identificar al elemento dentro del
documento.
Sólo puede haber un atributo de tipo ID por elemento.
IDREF/S Este atributo se empleará para referenciar a otros
elementos del
documento a partir de su ID.
ENTITY/S Contiene nombres de entidades. Ver siguiente apdo.
NMTOKE/S Contiene una única cadena de texto (ed, una sola
palabra).
(<< Aquí especificamos EL conjunto de valores q puede
enumerados>>) tomar el atributo;
esto lo hacemos separandolos con |.
10. Valores por defecto
Valor Significado
#REQUIRED Con esto indicamos que es obligatorio darle un valor
al atributo.
#IMPLIED Con esto indicamos que es opcional darle un valor al
atributo.
Podemos poner un valor (NO lista de valores) opcional
directamente;
<<valor>> entonces, si no se le otorga un nuevo valor
posteriormente, asumirá el
dado (ed, es el valor x por defecto).
No es obligatorio darle un valor en el doc.
Con esto obligamos a q el atributo tome
#FIXED necesariamente el valor
<<valor>> especificado en <<valor>>
11. Documentos XML bien
formados
Estructura jerárquica de elementos
<LI>HTML <B>permite <I>esto</B></I>.
<LI>En XML la <B>estructura <I>es</I> jerárquica</B>.</LI>
Etiquetas Vacias
<LI>Esto es HTML<BR>en el que casi todo está permitido</LI>
<LI>En XML, somos<BR/> más restrictivos.</LI>
Un solo elemento raiz
Los documentos XML sólo permiten un elemento raiz, 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.
12. 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. Si un elemento de XML está
definido como "ELEMENTO", no podemos
usar "elemento", ni "Elemento", ni "eleMENto" para
referirnos a él.
Nombrando cosas
Al utilizar XML, es necesario asignar nombres a las
estructuras, tipos de elementos, entidades, elementos
particulares, etc. no se pueden crear nombres que
empiecen con la cadena "xml", "xMl", "XML" o cualquier otra
variante. Las letras y rayas se pueden usar en cualquier parte
del nombre.
También se pueden incluir dígitos, guiones y caracteres de
punto, pero no se puede empezar por ninguno de ellos. El
resto de caracteres, como algunos símbolos, y espacios en
blanco, no se pueden usar.
13. 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 ";".
14. Tecnologias relacionadas
con XML
Contenidos: DTD o XML Schema
Un documento XML puede contener muchos tipos de
información. Es decir, pueden haber muchos lenguajes
escritos en XML para cualquier colectivo de usuarios. Por
ejemplo,
• Si lo utiliza el colectivo de médicos podría crear un
lenguaje en XML específico para almacenar diagnósticos
de los pacientes. Este lenguaje se podría llama
PacientesML.
• Si los distribuidores de películas utilizan XML podrán crear
sus propios lenguajes para guardar la información de las
películas. Este lenguaje se podría llamar PeliculasML.
• Si estamos escribiendo aplicaciones para móviles
podremos utilizar un lenguaje para aplicaciones
inalámbricas (Wireless), que se llama WML.
15. Diseño: CSS o XSL
Para cada documento XML que se desee presentar en
pantalla formateado de la manera que deseemos se tiene
que escribir una hoja de estilos o similar estas son las CSS.
XSL, que son las siglas de XML Style Language, es el segundo
lenguaje con el que trabajar en XML. Este lenguaje no se
limita a definir qué estilo aplicar a cada elemento del
documento XML. Además se pueden realizar pequeñas
instrucciones típicas de los lenguajes de programación y la
salida no tiene porque ser un documento HTML, sino que
además podría ser de otros tipos, cualquiera que podamos
necesitar como un documento escrito en WML (para
WAP), un documento de texto plano u otro documento XML.
16. Programación: SAX o DOM
Si queremos realizar acciones con nuestros datos escritos en
XML tenemos también mucho camino ya implementado. El
W3C ha especificado dos mecanismos para acceder a
documentos XML y trabajar con ellos. Se tratan
simplemente de unas normas que indican a los
desarrolladores la manera de acceder a los documentos.
Estas normas incluyen una jerarquía de objetos que tienen
unos métodos y atributos con los que tendremos que
trabajar y que nos simplificarán las tareas relativas al
recorrido y acceso a las partes del documento. Estos dos
mecanismos se denominan SAX y DOM. SAX se utiliza para
hacer un recorrido secuencial de los elementos del
documento XLM y DOM implica la creación de un árbol
en memoria que contiene el documento XML, y con él en
memoria podemos hacer cualquier tipo de recorrido y
acciones con los elementos que queramos.
17. Diferencias entre HTML y
XML
El HTML se preocupa por formatear datos y para ello son las
etiquetas que tiene el lenguaje, para formatear la información
que se desea mostrar.
El XML se preocupa por estructurar la información que
pretende almacenar. La estructura la marca la lógica propia
de la información.
Procesar la información en HTML es inviable, por estar
mezclada con los estilos y las etiquetas que formatean la
información.
En XML se puede procesar la información con mucha
facilidad, porque todo está ordenado de una manera
lógica, así mismo el formateo de la información para que se
pueda entender bien por el usuario es viable a través de un
pequeño procesamiento, a través de hojas de estilos o
similares.