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 de 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.
3. Objetivos y uso de XML
• 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 todos 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.
4. Caracteristicas de XML
• Un estándar libre.
• Un lenguaje extensible.
• Fácilmente procesable por humanos y software.
• Una tecnología ya implantada en el mercado.
• Diseñado para ser utilizado en cualquier lenguaje o
alfabeto.
• Separa el contenido de su representación.
• Permite la utilización efectiva de Internet.
• Utilizo mis propias etiquetas.
• La sintaxis es estricta. La especificación XML determina
claramente una serie de reglas que especifican cuando un
documento está bien formado.
5. Historia XML
Entre otros aspectos básicos de la Web, Tim Berners-Lee,
(Tecnico informatico desarrolla una tecnología basada en
Cliente/Servidor) especificó el lenguaje de marcado de
documentos HTML y cuando ésta ya era el sistema
cliente/servidor más extendido del mundo, en 1994 con el
soporte de Michael Dertouzos., Fundó el World Wide Web
Consortium (W3C).
Es en el marco de esta evolución para poder compartir datos
donde hay ubicar XML, cuyas características podemos
adelantar: un lenguaje de marcas (realmente un metalenguaje)
conun formato consistente, que premite intercambiar datos por
medio de cualquier programa, en no importa que lenguaje ni
qué plataforma, utillizando etiquetas que tiene un sentido
semántico (ello permite expresar cosas como “esto es un
dirección”).
6. Historia XML
El XML proviene de un lenguaje que inventó IBM allá por los años
70. El lenguaje de IBM se llama GML (General Markup Language)
y surgió por la necesidad que tenían en la empresa de
almacenar grandes cantidades de información de temas
diversos.
Necesitaban una manera de guardar la información y los
expertos de IBM se inventaron GML, un lenguaje con el que
poder clasificarlo todo y escribir cualquier documento para que
se pueda luego procesar adecuadamente
Este lenguaje gustó mucho a la gente de ISO, una entidad que
se encarga de normalizar cuantas cosas podáis imaginar para
los procesos del mundo actual, de modo que allá por el 86
trabajaron para normalizar el lenguaje, creando el SGML, que
no era más que el GML pero estándar (Standar en inglés).
7. Historia XML
SGML es un lenguaje muy trabajado, capaz de adaptarse a un
gran abanico de problemas y a partir de él se han creado los
siguientes sistemas para almacenar información.
Por el año 89, para el ámbito de la red Internet, un usuario que
había conocido el lenguaje de etiquetas (Markup) y los
hiperenlaces creo un nuevo lenguaje llamado HTML, que fue
utilizado para un nuevo servicio de Internet, la Web.
Desde el 96 hasta hoy una entidad llamada W3C ha tratado de
poner orden en el HTML y establecer sus reglas y etiquetas para
que sea un estándar.
El mismo W3C en el 98 empezó y continúa, en el desarrollo de
XML (Extended Markup Language).
8. Estructura de un
documento XML
Dicen que el XML es un 10% del SGML y de verdad lo es, porque
en realidad las normas que tiene son muy simples. Todo se basa
en la definición de un elemento (apertura y cierre) como objeto
principal de la estructura, esto también lleva consigo el
contenido del elemento y sus atributos.
9. Estructura de un
documento XML
La Cabecera o Prólogo.- La primera línea permite especificar la
versión de XML (de momento sólo “1.0”), la codificación de
carácter (US-ASCII, UTF-8, UTF-7, UCS-2, EUCJP, Big5, ISO-8859-1,
ISO-8859-7, etc.), y algunas otras cosas.
La segunda línea define el tipo de documento, especificando
que DTD valida y define los datos que contiene.
10. Estructura de un
documento XML
Un elemento vacío, es el que no tiene contenido (claro).
Al no tener una etiqueta de "cierre" que delimite un contenido,
se utiliza la forma <etiqueta/>, que puede contener atributos o
no. La sintaxis de HTML permite etiquetas vacías tipo <hr> o <img
src="...">. En HTML reformulado para que sea un documento XML
bien formado, se debería usar <hr/> o <img src="..."/>.
11. Estructura de un
documento XML
Atributos.- Como se ha mencionado antes, los elementos
pueden tener atributos, que son una manera de incorporar
características o propiedades a los elementos de un
documento.
12. Estructura de un
documento XML
Al igual que en otras cadenas literales de XML, los atributos
pueden estar marcados entre comillas verticales ( ' ) o dobles ( "
). Cuando se usa uno para delimitar el valor del atributo, el otro
tipo se puede usar dentro.
13. Estructura de un
documento XML
A veces, un elemento con contenido, puede modelarse como
un elemento vacío con atributos. Un concepto se puede
representar de muy diversas formas, pero una vez elegida una,
es aconsejable fijarla en el DTD, y usar siempre la misma
consistentemente dentro de un documento XML.
14. Estructura de un
documento XML
Para definir qué etiquetas y atributos debemos utilizar al escribir
en XML tenemos que fijarnos en la manera de guardar la
información de una forma estructurada y ordenada. Por
ejemplo, si deseamos guardar la información relacionada con
una película en un documento XML podríamos utilizar un
esquema con las siguientes etiquetas:
15. Estructura de un
documento XML
Sintaxis Adicionales
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. Es decir, que así
podemos usar el carácter "<" sin que se interprete como el
comienzo de una etiqueta XML, por ejemplo:
16. Estructura de un
documento XML
Sintaxis Adicionales
Secciones CDATA.- Existe otra construcción en XML que permite
especificar datos, utilizando cualquier carácter, especial o no,
sin que se interprete como marcado XML. La razón de esta
construcción llamada CDATA (Character Data) es que a veces
es necesario para los autores de documentos XML, poder leerlo
fácilmente sin tener que descifrar los códigos de entidades.
Especialmente cuando son muchas.
17. Estructura de un
documento XML
Sintaxis Adicionales
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.
18. Estructura de un
documento XML
Sintaxis Adicionales
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:
19. Estructura de un
documento XML
Sintaxis Adicionales
Se pueden introducir comentarios en cualquier lugar de la
instancia o del prólogo, pero nunca dentro de las
declaraciones, etiquetas, u otros comentarios.
22. Tecnologias
Relacionadas con XML
A continuación vamos a ver un montón de nuevas tecnologías,
cada una para llevar a cabo un aspecto de la aplicación XML.
Veremos tecnologías más difundidas relacionadas con los
procesos de:
• Contenidos: DTD o XML Schema
• Diseño: CSS o XSL
• Programación: SAX o DOM
23. Tecnologias
Relacionadas con XML
Contenidos: DTD o XML Schema
El DTD, Definition Type Document, tiene una sintaxis especial,
distinta de la de XML, que es sencilla, aunque un poco rara si
nunca hemos visto un documento similar. Para evitar el DTD, que
tiene una sintaxis muy especial, se intentó encontrar una manera
de escribir en XML la definición de otro lenguaje XML. Se definió
entonces el lenguaje XML Schema y funciona bien, aunque
puede llegar a ser un poco más complicado que especificarlo
en DTD.
Un detalle importante de señalar a la hora de hablar de los DTD
o XML Schema es que estos lenguajes también permiten
comprobar la integridad de los datos en cualquier momento.
24. Tecnologias
Relacionadas con XML
Diseño: CSS o XSL
CSS (Cascading Style Sheets o hojas de estilo en cascada) no es
nada nuevo, ya se podía utilizar con HTML. En XML también
podemos utilizar las CSS, y se utilizan de una manera muy similar
a cómo se utilizan en HTML, por lo menos los atributos de estilo
que podemos aplicar son los mismos y sus posibles valores
también.
XSL, (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 por qué 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.
25. Tecnologias
Relacionadas con XML
Programación: SAX o DOM
Se tratan simplemente de unas normas que indican a los
desarrolladores la manera de acceder a los documentos.
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.
Se puede programar con el lenguaje de programación que se desee
para acceder a un documento XML.
Un lenguaje típico para trabajar con XML es Java y en este caso es SUN
Microsystems la encargada de proveer el API que ha especificado el
W3C y por lo tanto los desarrolladores en Java cuentan con unas clases
especiales que ha creado SUN para programar con XML