A grandes rasgos
• XML será el formato y el modelo para
intercambiar información entre componentes, aplicaciones, y empresas a través de Internet
• Microsoft, IBM, Netscape, etc., están apostando
fuertemente a esta tecnología
• XML es un estándar abierto a Internet (W3C) • XML habilita una nueva generación de
Pero... ¿Qué es XML?
•
Texto que cumple ciertas reglas
Pero... ¿Qué es XML?
•
XML es un sub-conjunto de SGML (Standard
Generalized Mark-up Language)
SGML
XML
Pero... ¿Qué es XML?
• Más fácil que SGML • Más pequeño
• Pensado para ser utilizado en Internet
• XML es un lenguaje utilizado para estructurar y
describir datos de forma que puedan ser entendidos o interpretados por diferentes aplicaciones
• Puede ser utilizado por cualquier lenguaje y/o
Pero... ¿Qué es XML?
• XML es un meta-lenguaje que nos permite definir lenguajes de marcado, adecuados a usos determinados
• XML es un estándar de Internet, aprobado por la W3C
(http://www..w3.org/TR/1998/REC-xml-19980210.html)
• Los proveedores tratan de ajustarse a las especificaciones
• Microsoft (MSXML.DLL) e IBM ofrecen un conjunto de objetos
Pero... ¿Qué NO es XML?
• XML no es una versión mejorada de HTML
• XML no es un lenguaje para hacer mejores páginas
web
¿Dónde está la revolución?
• Para ententer la revolución que plantea XML, hay queentender las tecnologías circundantes
– XSL – XSLT – DTD
– Schema
– XPATH – Etc.
• Estas son las que realmente hacen la revolución (En especial
Algo de historia sobre XML
• Desarrollo a partir de 1996, como un sub-conjunto
de SGML
• Adoptado como estándar en Febrero de 1998, por el
World Wide Web Consortium (W3C)
• Constituido en 1994 con el objetivo de desarrollar
protocoles comunes para la evolución de Internet
• Es un consorcio de industrias internacionales, y está
participado por MIT (EEUU), INRA (Francia), y Keio University (Japón)
• Cuenta con el apoyo de DARPA (EEUU), y la comisión
Veamos un ejemplo de HTML
• <p><b>Un texto aquí en una linea;<br>
¿Qué problemas tiene HTML?
• Es un meta-lenguaje de definición de presentación• Contiene datos + presentación
• No es fácilmente procesable por ‘máquinas’
• No fuerza al la buena estructura de la página (pueden dejarse
por error etiquetas sin cerrar)
HTML versus XML
• HTML se centra en el
despliegue, y es menos estructurado
• Las etiquetas y
atributos son fijos
• Es posible olvidar el
cierre de alguna etiqueta
• XML es sobre datos, y
es sumamente estructurado
• Las etiquetas y atributos
son extensibles
• Se fuerza a tener una
¿Qué ventajas tiene XML?
•
Fácil de procesar/entender por software o por
seres humanos
•
Pensado para ser utilizado en cualquier
lenguaje o alfabeto
•
Separa radicalmente la información o
¿Qué ventajas tiene XML?
•
Un documento en XML, puede tener varias
¿Qué ventajas tiene XML?
• Formato ideal para tarnsacciones B2B
• Permite poderosas técnicas de extracción y búsqueda
de información (XSL y XPATH)
• Las estrictas reglas para la composición de un
documento XML, permite su fácil análisis sintáctico
• A diferencia de HTML, XML es sensitivo a mayúsculas
Ejemplo XML
<?xml version="1.0"?>
<Order o_id="7845" o_date="1999-02-01" o_cur="USD" c_id="JANTOY" > <ShippingAddress sa_city="Erie" sa_state="PA" sa_pcode="19130"> <Line l_text="Jan's Toys" />
<Line l_text="1818 Market Street" /> <Line l_text="3rd Floor, Room 1219" /> </ShippingAddress>
<OrderDetails>
<Item p_id="325" p_name="Whirlygig" od_qty="5" od_unitp="15.50" /> <Item p_id="326" p_name="Zapper" od_qty="2" od_unitp="10.25" /> <Item p_id="327" p_name="Whirlygig" od_qty="5" od_unitp="15.50" /> </OrderDetails>
<Comments>
Algunas definiciones
• XML - eXtended Mark-up Language • DTD - Document Type Definition
• XSLT - eXtended StyleSheet Language • Parser- Analizador sintáctico
Algunas tecnologías XML
• Especificación actual– XML v1.0
• Definición de Documentos
– DTD o Schemas
• Definición de estilos
– XSL=XSLT + XPATH
• Enlazado de documentos
El elemento y sus atributos
• <autor pais=“España”>Juan Lopez Martinez</autor>
Nombre del elemento
Nombre del atributo
Valor del atributo
Contenido del elemento
Reglas y pautas XML
• Se dice que un documento XML es ‘bien formado’
(well formed), cuando cumple una serie de reglas escritas en XML v1.0
– Los elementos deben seguir una estructura de árbol
(estríctamente jerárquica)
Ejemplo 1
•
<libros><autor pais=“España”>Juan
Reglas y pautas XML
– Los documentos deben tener un nodo raiz
– Todas las etiquetas deben estar debidamente
cerradas
– Las etiquetas vacias (etiquetas sin contenido)
Ejemplo 2
•
<libros>
<autor pais=“España”>Juan Lopez
<Ranking=100/></autor>
Reglas y pautas XML
– Un nombre de elemento, atributo, entidad, etc., comienza por una letra, y continúa con letras, dígitos, guiones, rayas, punto, dos puntos.
– No pueden utilizarse las palabras XML, xml,Xml, etc., como
caracteres iniciales del nombre de un atributo, entidad, etc.
– XML es sensitivo a mayúsculas y minúsculas (no es lo
mismo <Autor> que <autor>
– El uso de espacios en blanco, y los saltos de línea,
Sintaxis
• Las etiquetas se denominan ‘marcas’, y son las partes del documento que el ‘analizador sintáctico’ (parser) espera comprender
• Las marcas en un documento XML comienzan con el
carácter < y finalizan con >
• En el caso de referencias de entidad, el carácter inicial es &
y el final es ;
• La primer línea debe especificar la versión de XML (de
Ejemplo 3
Sintaxis
•
La segunda línea define el DTD y es opcional
Los Elementos en XML
•
Los elementos en XML pueden:
– Tener contenido (Texto, Valores, etc.) – Contener otras etiquetas o atributos
– Contener otras etiquetas, atributos, y contenido a
la vez
Ejemplo 4
• <nombre>Maria Lopez</nombre>• <nombres>
<nombre>Maria</nombre> <apellido>Lopez</apellido> </nombres>
• <persona edad=30><nombre> Maria Lopez
</nombre></persona>
Los Atributos en XML
•
Los elementos pueden incorporar atributos,
que son características o propiedades
particulares
•
Los atributos siempre deben estar marcados
Ejemplo 5
• <libros>
<titulo>Primera Clase </titulo> <autor>Juan Lopez</autor>
<precio moneda=“€”> 1 euros</precio> </libros>
Las entidades en XML
•
En XML v1.0 existen 5 entidades predefinidas,
para representar caracteres especiales, y que
no se interpretan como marcas para el
Las entidades en XML
Entidad Carácter
& &
< <
> >
' ‘
Las secciones CDATA
•
Otra forma de ingresar un bloque de
caracteres sin que el procesador XML los
interprete, es utilizando los bloques CDATA
(Character Data)
•
Ingresar etiquetas HTML dentro de un
Ejemplo 6
•
Sin una sección CDATA
<ejemplo>
<HTML> <BODY>
Hola, esto es un documento html dentro de uno XML </BODY>
Ejemplo 6
•
Con una sección CDATA
<ejemplo> <![CDATA[
<HTML>; <BODY>
Hola, esto es un documento html dentro de uno XML </BODY>
</HTML> ]]>