Introducción a XML

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

A grandes razgos

XML

Pero... ¿Qué es XML?
Texto que cumple ciertas reglas Las reglas tienen puntos en común con HTML Abierto a sistemas operativos

..Pero. ¿Qué es XML? XML es un sub-conjunto de SGML (Standard Generalized Mark-up Language) SGML XML HTML .

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 ...

w3...html) Los proveedores tratan de ajustarse a las especificaciones Microsoft (MSXML.Pero.org/TR/1998/REC-xml19980210. adecuados a usos determinados XML es un estándar de Internet. aprobado por la W3C (http://www. ¿Qué es XML? XML es un meta-lenguaje que nos permite definir lenguajes de marcado.DLL) e IBM ofrecen un conjunto de objetos para manejar XML ..

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 ...

y Schema) . hay que entender las tecnologías circundantes  XSL  XSLT  DTD  Schema  XPATH  Etc. y DTD.¿Dónde está la revolución? Para ententer la revolución que plantea XML. Estas son las que realmente hacen la revolución (En especial XSLT.

como un subconjunto de SGML Adoptado como estándar en Febrero de 1998.Algo de historia sobre XML Desarrollo a partir de 1996. por el World Wide Web Consortium (W3C) .

INRA (Francia). y la comisión europea (IEEE) . y está participado por MIT (EEUU). y Keio University (Japón) Cuenta con el apoyo de DARPA (EEUU).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.

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> .

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

HTML versus XML HTML se centra en el despliegue. y es sumamente estructurado Las etiquetas y atributos son extensibles Se fuerza a tener una estructura consistente . y es menos estructurado Las etiquetas y atributos son fijos Es posible olvidar el cierre de alguna etiqueta XML es sobre datos.

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> .

<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.Ejemplo 1 vs. su correlativo esencial </titulo> <autor>Arthur Schopenhauer</autor> <precio moneda=³$´>200 pesos</precio> </libros> . Ejemplo2 <p><b>El amor es la compensación de la muerte.

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

puede tener varias formas de presentación .¿Qué ventajas tiene XML? Un documento en XML.

permite su fácil análisis sintáctico A diferencia de HTML.¿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. XML es sensitivo a mayúsculas y minúsculas .

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.Veamos un documento XML a vuelo de pájaro Declaración XML Atributo <?xml version="1.25" /> <Item p_id="327" p_name="Whirlygig" od_qty="5" od_unitp="15.50" /> </OrderDetails> Comienzo <Comments> This order replaces order 7844 which was cancelled by the customer.0"?> <Order o_id="7845" o_date="1999-02-01" o_cur="USD" c_id="JANTOY" > o_date="1999-02<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. </Comments> </Order> Fin Contenido Elemento Raíz .

Sopa de Letras DOM XML XML-Data XSL XDR XPath XRef Parser XPATH SOAP MS SAX SGML XQL XSLT Schema XPointer XLL DTD .

Algunas definiciones XML DTD XSLT Parser DOM XHTML eXtended Mark-up Language Document Type Definition eXtended StyleSheet Language Analizador sintáctico Document Object Model eXtended HTML .

0 DTD o Schemas XSL=XSLT + XPATH XLL=Xlink + Xpointer Definición de Documentos  Definición de estilos  Enlazado de documentos  .Algunas tecnologías XML Especificación actual  XML v1.

Construyendo documentos XML .

El elemento y sus atributos Nombre del atributo Contenido del elemento <autor pais=³Uruguay´>Mario Benedetti</autor> Valor del atributo Nombre del elemento Etiqueta de fin .

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 .Reglas y pautas XML Se dice que un documento XML es µbien formado¶ (well formed).

Ejemplo 1 <libros><autor pais=³Uruguay´>Leo Masliah</libros></autor> <libros><autor pais=³Uruguay´>Leo Masliah</autor> </libros> .

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 .

Ejemplo 2 <libros><autor pais=³Uruguay´>Leo Masliah<Ranking=100></autor></libros> <libros> <autor pais=³Uruguay´>Leo Masliah <Ranking=100/></autor> </libros> .

como caracteres iniciales del nombre de un atributo. o cuando se indica su significancia) . entidad. XML es sensitivo a mayúsculas y minúsculas (no es lo mismo <Autor> que <autor> El uso de espacios en blanco. atributo.. guiones. y continúa con letras. comienza por una letra. No pueden utilizarse las palabras XML. xml. etc. punto.. etc.Xml. dígitos. funcionan al igual que en HTML (sólo se toma en cuenta cuando aparece en el valor de un atributo. rayas. entidad. y los saltos de línea.Reglas y pautas XML     Un nombre de elemento. dos puntos. etc.

el carácter inicial es & y el final es . UTF-8. la codificación de caracteres (US-ASCII.y va entre caracteres de <? ?> en vez de < .. ISO-8859-1.Sintáxis Las etiquetas se denominan µmarcas¶. La primer línea debe especificar la versión de XML (de momento sólo 1.0). 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. > .etc).

Ejemplo 3 <?xml version=³1.0´ encoding=³UTF-7´?> .

y es opcional <!DOCTYPE mensaje SYSTEM ³mensaje.dtd´> .Sintáxis La segunda línea define el DTD (se verá mas adelante).

Valores.)  Contener otras etiquetas o atributos  Contener otras etiquetas. etc. y contenido a la vez  Pueden estar vacíos .Los Elementos en XML Los elementos en XML pueden: Tener contenido (Texto. atributos.

Ejemplo 4 <nombre>James Britt</nombre> <nombres> <nombre>James</nombre> <apellido>Britt</apellido> </nombres> <persona edad=30><nombre>James Britt</nombre></persona> <Sexo=³Masculino´/> .

.Los Atributos en XML Los elementos pueden incorporar atributos. y se sitúa como un valor adicional a una etiqueta. que son características o propiedades particulares Los atributos siempre deben estar marcados con comillas simples o dobles.

su correlativo esencial </titulo> <autor>Arthur Schopenhauer</autor> <precio moneda=³$´>200 pesos</precio> </libros> Atributo .Ejemplo 5 <libros> <titulo>El amor es la compensación de la muerte.

³ . y que no se interpretan como marcas para el procesador XML.>. De esta forma podemos utilizar por ejemplo el carácter <. para representar caracteres especiales.µ.Las entidades en XML En XML v1.0 existen 5 entidades predefinidas.&.

&lt.Las entidades en XML Entidad &amp. &quot. &gt. Carácter & < > µ ³ . &apos.

es utilizando los bloques CDATA (Character Data) Ingresar etiquetas HTML dentro de un documento XML (Se verá su utilidad mas adelante) .Las secciones CDATA Otra forma de ingresar un bloque de caracteres sin que el procesador XML los interprete.

&lt. </ejemplo> .HTML&gt./HTML&gt. Hola. &lt.BODY&gt. esto es un documento html dentro de uno XML &lt./BODY&gt.Ejemplo 6 Sin una sección CDATA <ejemplo> &lt.

esto es un documento html dentro de uno XML </BODY> </HTML> ]]> </ejemplo> . <BODY> Hola.Ejemplo 6 Con una sección CDATA <ejemplo> <![CDATA[ <HTML>.

y -->) Nunca puede ir dentro de una etiqueta. etc.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. Igual sintáxis que en HTML (<!-. . y las reproducciones del documento.

.Aca va el tipo de documento --> <!DOCTYPE ejemplo [ <!-. . .Esto es otro comentario --> <!element Ejemplo (#PCDATA)> .0´?> <!-.Ejemplo 7 <?xml version=³1.

17 .Nov.FIN de Parte I 2000.