2000.Nov.17 Introducción a XML Erich Bühler [email protected].
-
Upload
marcio-zegarra -
Category
Documents
-
view
15 -
download
1
Transcript of 2000.Nov.17 Introducción a XML Erich Bühler [email protected].
2000.Nov.17
Introducción a XMLErich Bü[email protected]
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
& &
< <
> >
' ‘
" “
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>
<HTML><BODY>Hola, esto es un documento html dentro de uno XML</BODY> </HTML>
</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