Está en la página 1de 46

Introducción a XML

Erich Bühler
tech@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

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)

SGML
XML
HTML

2000.Nov.17
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
sistema operativo

2000.Nov.17
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 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 XML es sobre datos,
el despliegue, y es y es sumamente
menos estructurado estructurado
Las etiquetas y Las etiquetas y
atributos son fijos atributos son
Es posible olvidar el extensibles
cierre de alguna Se fuerza a tener
etiqueta 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 <libros>
compensación de la <titulo>El amor
muerte;<br> es la compensación de
su correlativo la muerte; su
correlativo esencial
esencial</b> </titulo>
<I>Arthur <autor>Arthur
Schopenhauer</I> Schopenhauer</autor>
Precio: <i>200 <precio
pesos</i><p> 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
Atributo
Declaración 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"> Elemento
<Line l_text="Jan's Toys" />
<Line l_text="1818 Market Street" /> Elemento Vacío
<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> Comienzo
This order replaces order 7844 which was cancelled by the
customer.
</Comments> Fin
</Order>
Contenido
Elemento Raíz
2000.Nov.17
Sopa de Letras
DOM DTD
XPointer
XML
XLL
XML-Data XQL
XSLT Schema
XSL
XDR
MS SAX
XPath XPATH

XRef SGML
Parser SOAP

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
Nombre del atributo Contenido del elemento

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

Valor del atributo Etiqueta de fin


Nombre del elemento

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 raiz
 Todas las etiquetas deben estar
debidamente cerradas
 Las 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 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 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 atributos

 Contener 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 XML
Estos 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

2000.Nov.17

También podría gustarte