2000.Nov.17 Introducción a XML Erich Bühler tech@vblibros.com

Preview:

Citation preview

2000.Nov.17

Introducción a XMLErich Bühlertech@vblibros.com

2000.Nov.17

A grandes razgos

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 aplicaciones en Internet

2000.Nov.17

A grandes razgos

XML

XML

2000.Nov.17

Pero... ¿Qué es XML?

Texto que cumple ciertas reglas

Las reglas tienen puntos en común con HTML

Abierto a sistemas operativos

2000.Nov.17

Pero... ¿Qué es XML?

XML es un sub-conjunto de SGML (Standard Generalized Mark-up Language)

SGMLXML

HTML

2000.Nov.17

Pero... ¿Qué es XML?

Más fácil que SGMLMás pequeñoPensado para ser utilizado en InternetXML es un lenguaje utilizado para estructurar y describir datos de forma que puedan ser entendidos o interpretados por diferentes aplicacionesPuede ser utilizado por cualquier lenguaje y/o sistema operativo

2000.Nov.17

Pero... ¿Qué es XML?

XML es un meta-lenguaje que nos permite definir lenguajes de marcado, adecuados a usos determinadosXML 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 especificacionesMicrosoft (MSXML.DLL) e IBM ofrecen un conjunto de objetos para manejar XML

2000.Nov.17

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

XML no es difícil

2000.Nov.17

¿Dónde está la revolución?

Para ententer la revolución que plantea XML, hay que entender las tecnologías circundantes XSL XSLT DTD Schema XPATH Etc.

Estas son las que realmente hacen la revolución (En especial XSLT, y DTD, y Schema)

2000.Nov.17

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)

2000.Nov.17

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 europea (IEEE)

2000.Nov.17

Veamos un ejemplo de HTML

<p><b>El amor es la compensación de la muerte;<br>su correlativo esencial</b><I>Arthur Schopenhauer</I>Precio: <i>200 pesos</i><p>

2000.Nov.17

¿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)

Su interpretación depende del software utilizado

Está pensado para su utilización en páginas web.

2000.Nov.17

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 estructura consistente

2000.Nov.17

2000.Nov.17

Veamos un ejemplo en XML

<libros><titulo>El amor es la compensación de

la muerte; su correlativo esencial </titulo><autor>Arthur Schopenhauer</autor><precio moneda=“$”>200

pesos</precio></libros>

2000.Nov.17

Ejemplo 1 vs. Ejemplo2

<p><b>El amor es la compensación de la muerte;<br>su correlativo esencial</b><I>Arthur Schopenhauer</I>Precio: <i>200 pesos</i><p>

<libros><titulo>El amor

es la compensación de la muerte; su correlativo esencial

</titulo><autor>Arthur

Schopenhauer</autor><precio

moneda=“$”>200 pesos</precio></libros>

2000.Nov.17

¿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 contenido, de su presentación o formato

2000.Nov.17

¿Qué ventajas tiene XML?

Un documento en XML, puede tener varias formas de presentación

2000.Nov.17

¿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 y minúsculas

2000.Nov.17

Veamos un documento XML a vuelo de pájaro

<?xml version="1.0"?><?xml version="1.0"?><Order o_id="7845" o_date="1999-02-01" o_cur="USD" c_id="JANTOY" ><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"><ShippingAddress sa_city="Erie" sa_state="PA" sa_pcode="19130"> <Line l_text="Jan's Toys" /><Line l_text="Jan's Toys" /> <Line l_text="1818 Market Street" /><Line l_text="1818 Market Street" /> <Line l_text="3rd Floor, Room 1219" /><Line l_text="3rd Floor, Room 1219" /> </ShippingAddress></ShippingAddress> <OrderDetails><OrderDetails> <Item p_id="325" p_name="Whirlygig" od_qty="5" od_unitp="15.50" /><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="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" /><Item p_id="327" p_name="Whirlygig" od_qty="5" od_unitp="15.50" /> </OrderDetails></OrderDetails> <Comments><Comments> This order replaces order 7844 which was cancelled by the This order replaces order 7844 which was cancelled by the customer.customer. </Comments></Comments></Order></Order>

Declaración XML

Elemento Raíz

Comienzo

Fin

Elemento

Atributo

Contenido

Elemento Vacío

2000.Nov.17

Sopa de Letras

XMLXLL

XPATH

XSL

XSLT

MS SAX

XPointer

XPath

DTDDOM

SGMLXRef

Schema

SOAPParser

XML-Data

XDR

XQL

2000.Nov.17

Algunas definiciones

XML - eXtended Mark-up Language

DTD - Document Type Definition

XSLT- eXtended StyleSheet Language

Parser - Analizador sintáctico

DOM - Document Object Model

XHTML - eXtended HTML

2000.Nov.17

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 XLL=Xlink + Xpointer

2000.Nov.17

Construyendo documentos XML

2000.Nov.17

El elemento y sus atributos

<autor pais=“Uruguay”>Mario Benedetti</autor>

Nombre del elemento

Nombre del atributo

Valor del atributo

Contenido del elemento

Etiqueta de fin

2000.Nov.17

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) Los elementos deben estar correctamente

anidados Los elementos no se pueden superponer entre

ellos

2000.Nov.17

Ejemplo 1

<libros><autor pais=“Uruguay”>Leo Masliah</libros></autor>

<libros><autor pais=“Uruguay”>Leo Masliah</autor> </libros>

2000.Nov.17

Reglas y pautas XML

Los documentos deben tener un nodo raizTodas las etiquetas deben estar

debidamente cerradasLas etiquetas vacias (etiquetas sin

contenido) deben tener una sintáxis especial

2000.Nov.17

Ejemplo 2

<libros><autor pais=“Uruguay”>Leo Masliah<Ranking=100></autor></libros>

<libros><autor pais=“Uruguay”>Leo

Masliah <Ranking=100/></autor></libros>

2000.Nov.17

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, funcionan al igual que en HTML (sólo se toma en cuenta cuando aparece en el valor de un atributo, o cuando se indica su significancia)

2000.Nov.17

Sintáxis

Las etiquetas se denominan ‘marcas’, y son las partes del documento que el ‘analizador sintáctico’ (parser) espera comprenderLas 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 momento sólo 1.0), la codificación de caracteres (US-ASCII, UTF-8, ISO-8859-1,etc),y va entre caracteres de <? ?> en vez de < .. >

2000.Nov.17

Ejemplo 3

<?xml version=“1.0” encoding=“UTF-7”?>

2000.Nov.17

Sintáxis

La segunda línea define el DTD (se verá mas adelante), y es opcional

<!DOCTYPE mensaje SYSTEM “mensaje.dtd”>

2000.Nov.17

Los Elementos en XML

Los elementos en XML pueden:Tener contenido (Texto, Valores, etc.)Contener otras etiquetas o atributosContener otras etiquetas, atributos, y

contenido a la vez

Pueden estar vacíos

2000.Nov.17

Ejemplo 4

<nombre>James Britt</nombre>

<nombres><nombre>James</nombre><apellido>Britt</apellido>

</nombres>

<persona edad=30><nombre>James Britt</nombre></persona>

<Sexo=“Masculino”/>

2000.Nov.17

Los Atributos en XML

Los elementos pueden incorporar atributos, que son características o propiedades particulares

Los atributos siempre deben estar marcados con comillas simples o dobles, y se sitúa como un valor adicional a una etiqueta.

2000.Nov.17

Ejemplo 5

<libros><titulo>El amor es la compensación de

la muerte; su correlativo esencial </titulo><autor>Arthur Schopenhauer</autor><precio moneda=“$”>200

pesos</precio></libros>

Atributo

2000.Nov.17

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 procesador XML. De esta forma podemos utilizar por ejemplo el carácter < , > , & , ‘ , “

2000.Nov.17

Las entidades en XML

Entidad Carácter

&amp; &

&lt; <

&gt; >

&apos; ‘

&quot; “

2000.Nov.17

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 documento XML (Se verá su utilidad mas adelante)

2000.Nov.17

Ejemplo 6

Sin una sección CDATA<ejemplo>

&lt;HTML&gt;&lt;BODY&gt;Hola, esto es un documento html dentro de uno XML&lt;/BODY&gt; &lt;/HTML&gt;

</ejemplo>

2000.Nov.17

Ejemplo 6

Con una sección CDATA<ejemplo><![CDATA[

<HTML>;<BODY>Hola, esto es un documento html dentro de uno XML</BODY> </HTML>

]]></ejemplo>

2000.Nov.17

Utilizando comentarios en XML

En general, es necesaria la utilización de comentarios en un documento XMLEstos deben ser ignorados por el procesador sintáctico, y las reproducciones del documento. Igual sintáxis que en HTML (<!-- y -->)Nunca puede ir dentro de una etiqueta, etc.

2000.Nov.17

Ejemplo 7

<?xml version=“1.0”?><!-- Aca va el tipo de documento --><!DOCTYPE ejemplo [<!-- Esto es otro comentario --><!element Ejemplo (#PCDATA)>...

2000.Nov.17

FIN de Parte I

Recommended