Title: Introducci
1Introducción a XML
Erich Bühler
tech_at_vblibros.com
2A 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
3A grandes razgos
XML
4Pero... Qué es XML?
- Texto que cumple ciertas reglas
- Las reglas tienen puntos en común con HTML
- Abierto a sistemas operativos
5Pero... Qué es XML?
- XML es un sub-conjunto de SGML (Standard
Generalized Mark-up Language)
SGML
XML
HTML
6Pero... 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
7Pero... 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.h
tml) - Los proveedores tratan de ajustarse a las
especificaciones - Microsoft (MSXML.DLL) e IBM ofrecen un conjunto
de objetos para manejar XML
8Pero... 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
9Dó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)
10Algo 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)
11World 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)
12Veamos un ejemplo de HTML
- ltpgtltbgtEl amor es la compensación de la
muerteltbrgtsu correlativo esenciallt/bgtltIgtArthur
Schopenhauerlt/IgtPrecio ltigt200 pesoslt/igtltpgt
13Qué 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.
14HTML 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
15(No Transcript)
16Veamos un ejemplo en XML
- ltlibrosgt lttitulogtEl amor es la compensación de
la muerte su correlativo esencial
lt/titulogt ltautorgtArthur Schopenhauerlt/autorgt ltp
recio monedagt200 pesoslt/preciogtlt/librosgt
17Ejemplo 1 vs. Ejemplo2
- ltpgtltbgtEl amor es la compensación de la
muerteltbrgtsu correlativo esenciallt/bgtltIgtArthur
Schopenhauerlt/IgtPrecio ltigt200 pesoslt/igtltpgt
- ltlibrosgt lttitulogtEl amor es la compensación de
la muerte su correlativo esencial
lt/titulogt ltautorgtArthur Schopenhauerlt/autorgt ltp
recio monedagt200 pesoslt/preciogtlt/librosgt
18Qué 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
19Qué ventajas tiene XML?
- Un documento en XML, puede tener varias formas de
presentación
20Qué 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
21Veamos un documento XML a vuelo de pájaro
lt?xml version"1.0"?gt ltOrder o_id"7845"
o_date"1999-02-01" o_cur"USD" c_id"JANTOY" gt
ltShippingAddress sa_city"Erie" sa_state"PA"
sa_pcode"19130"gt ltLine l_text"Jan's Toys"
/gt ltLine l_text"1818 Market Street" /gt
ltLine l_text"3rd Floor, Room 1219" /gt
lt/ShippingAddressgt ltOrderDetailsgt ltItem
p_id"325" p_name"Whirlygig" od_qty"5"
od_unitp"15.50" /gt ltItem p_id"326"
p_name"Zapper" od_qty"2" od_unitp"10.25" /gt
ltItem p_id"327" p_name"Whirlygig" od_qty"5"
od_unitp"15.50" /gt lt/OrderDetailsgt
ltCommentsgt This order replaces order 7844
which was cancelled by the customer.
lt/Commentsgt lt/Ordergt
22Sopa de Letras
DOM
DTD
XPointer
XML
XLL
XQL
XML-Data
XSLT
Schema
XSL
XDR
MS SAX
XPATH
XPath
SGML
XRef
SOAP
Parser
23Algunas 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
24Algunas tecnologías XML
- Especificación actual
- XML v1.0
- Definición de Documentos
- DTD o Schemas
- Definición de estilos
- XSLXSLT XPATH
- Enlazado de documentos
- XLLXlink Xpointer
25Construyendo documentos XML
26El elemento y sus atributos
- ltautor paisUruguaygtMario Benedettilt/autorgt
Nombre del atributo
Contenido del elemento
Valor del atributo
Etiqueta de fin
Nombre del elemento
27Reglas 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
28Ejemplo 1
- ltlibrosgtltautor paisUruguaygtLeo
Masliahlt/librosgtlt/autorgt - ltlibrosgtltautor paisUruguaygtLeo Masliahlt/autorgt
lt/librosgt
29Reglas 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
30Ejemplo 2
- ltlibrosgtltautor paisUruguaygtLeo
MasliahltRanking100gtlt/autorgtlt/librosgt - ltlibrosgt ltautor paisUruguaygtLeo Masliah
ltRanking100/gtlt/autorgtlt/librosgt
31Reglas 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 ltAutorgt que ltautorgt - 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)
32Sintá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 lt y finalizan con gt - 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 lt? ?gt en vez de lt .. gt
33Ejemplo 3
- lt?xml version1.0 encodingUTF-7?gt
34Sintáxis
- La segunda línea define el DTD (se verá mas
adelante), y es opcionallt!DOCTYPE mensaje
SYSTEM mensaje.dtdgt
35Los 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
36Ejemplo 4
- ltnombregtJames Brittlt/nombregt
- ltnombresgt ltnombregtJameslt/nombregt ltapellidogtBritt
lt/apellidogtlt/nombresgt - ltpersona edad30gtltnombregtJames Brittlt/nombregtlt/per
sonagt - ltSexoMasculino/gt
37Los 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.
38Ejemplo 5
- ltlibrosgt lttitulogtEl amor es la compensación de
la muerte su correlativo esencial
lt/titulogt ltautorgtArthur Schopenhauerlt/autorgt ltp
recio monedagt200 pesoslt/preciogtlt/librosgt
Atributo
39Las 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 lt , gt , , ,
40Las entidades en XML
Entidad Carácter
amp
lt lt
gt gt
apos
quot
41Las 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)
42Ejemplo 6
ltejemplogt ltHTMLgt ltBODYgt Hola, esto
es un documento html dentro de uno
XML lt/BODYgt lt/HTMLgtlt/ejemplogt
43Ejemplo 6
ltejemplogtlt!CDATA ltHTMLgt ltBODYgt Hola, esto
es un documento html dentro de uno XML lt/BODYgt
lt/HTMLgt gtlt/ejemplogt
44Utilizando 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 (lt!-- y --gt)
- Nunca puede ir dentro de una etiqueta, etc.
45Ejemplo 7
- lt?xml version1.0?gtlt!-- Aca va el tipo de
documento --gtlt!DOCTYPE ejemplo lt!-- Esto es
otro comentario --gtlt!element Ejemplo
(PCDATA)gt...
46FIN de Parte I