Your SlideShare is downloading. ×
0
Lenguaje XML   Jose Emilio Labra Gayo Departamento de Informática   Universidad de Oviedo
Marcado Descriptivo     HTML es un lenguaje de marcado descriptivo       Las marcas describen cómo procesar el documento  ...
Marcado Generalizado      Marcado generalizado = Sintaxis común que facilita la        creación de lenguajes descriptivos ...
Marcado Generalizado                                                        SGML     1970s GML desarrollado en IBM – Gener...
Marcado Generalizado                                                     XML    Desarrollado por T. Bray, J. Paoli, C. M. ...
XML y el comercio electrónico         XML aparece en pleno apogeo del comercio electrónico           Formato que permita t...
HTML y la información semiestructurada         HTML es un lenguaje para presentaciones de hipertexto               Las mar...
XML y el comercio electrónico         Las marcas de XML permiten procesar de forma no           ambigüa los documentos    ...
XML                                                  Declaración de        <?xml version=“1.0” ?>                         ...
Declaración de XML       <?xml version=“1.0”             encoding=“iso-8859-1”             standalone=“yes”?>           ve...
Documentos y elementos XML        Los documentos consisten en una serie de datos marcados           mediante etiquetas    ...
Documentos XML                                       Elementos vacíos         Elementos vacío: elementos que no incluyen i...
Anidamiento              Se pueden anidar elementos                         <externo>                           <interno>t...
Árbol del documento XML  <pedido fecha="3/2/2011">   <producto codigo="G23">    <nombre>Grapadora</nombre>    <cantidad>2<...
Ejercicio              Dibujar el árbol del siguiente documento HTML                        <html>                        ...
Modificación del árbol         El árbol DOM puede manipularse dinámicamente   <html>    <head>    <title>Prueba</title>   ...
Atributos          Cada elemento puede contener atributos en la etiqueta inicial                  <poema fecha=“Abril de 1...
Atributos predefinidos        xml:lang especifica el idioma. Ejemplo: en (inglés), es (español)        xml:space especific...
Comentarios           Mediante <!-- y -->                    <poema fecha="Abril de 1915"                             luga...
Caracteres especiales         Mediante &#nº; se puede incluir un carácter Unicode               Ejemplo: ∀ incluye ∀      ...
Secciones CDATA         Las secciones CDATA permiten escribir texto literal que no será           procesado               ...
Instrucciones de Procesamiento      Indican alguna acción a realizar por una aplicación externa         Si el procesador r...
Documento bien formado            Documento bien formado                   Sigue las reglas sintácticas                   ...
Documento válido      Se puede incluir una declaración del tipo de documento  <?xml version=“1.0”?>  <!DOCTYPE poema SYSTE...
Fin de la PresentaciónJose Emilio Labra Gayo – Universidad de Oviedo
Upcoming SlideShare
Loading in...5
×

XML - Introducción

644

Published on

Pequeña introducción a XML. Utilizada en diversos cursos por Jose Emilio Labra Gayo

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
644
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "XML - Introducción"

  1. 1. Lenguaje XML Jose Emilio Labra Gayo Departamento de Informática Universidad de Oviedo
  2. 2. Marcado Descriptivo HTML es un lenguaje de marcado descriptivo Las marcas describen cómo procesar el documento Ejemplo: HTML <html> <head><title>Poema</title></head> <body lang=“es”> <h1>Alba</h1> <h2>Abril de 1915 </h2> <h2><i>Granada</i></h2> <p>Mi corazón oprimido</p> <p>siente junto a la alborada</p> <p>el dolor de sus amores</p> <p>y el sueño de las distancias. </p> </body> </html>Jose Emilio Labra Gayo – Universidad de Oviedo
  3. 3. Marcado Generalizado Marcado generalizado = Sintaxis común que facilita la creación de lenguajes descriptivos HTML Otras marcas...(misma sintaxis) <html> <poema fecha="Abril de 1915" <head><title>Poema</title></head> lugar="Granada"> <body lang=“es”> <h1>Alba</h1> <titulo>Alba</titulo> <h2>Abril de 1915 </h2> <h2><i>Granada</i></h2> <verso>Mi corazón oprimido</verso> <p>Mi corazón oprimido</p> <verso>siente junto a la alborada</verso> <p>siente junto a la alborada</p> <verso>el dolor de sus amores</verso> <p>el dolor de sus amores</p> <verso>y el sueño de las distancias. </verso> <p>y el sueño de las distancias.</p> </poema> </body> </html> Sintaxis común contenido <etiqueta atributo=“valor”> </etiqueta>Jose Emilio Labra Gayo – Universidad de Oviedo
  4. 4. Marcado Generalizado SGML 1970s GML desarrollado en IBM – Generalized Markup Language (Goldfarb, Mosher, Lorie) 1986 SGML Standard Generalized Markup Language (Estándar ISO) Utilizado para el intercambio de documentos Principio: Separar contenido de representación Muy flexible (permite definir vocabularios específicos para cada aplicación) HTML = vocabulario de SGMLJose Emilio Labra Gayo – Universidad de Oviedo
  5. 5. Marcado Generalizado XML Desarrollado por T. Bray, J. Paoli, C. M. Sperberg-McQueen (1995) T. Bray: Consultor de Textuality para Netscape (ahora en Sun) C. M. Sperberg-McQueen (TEI, SGML) J. Paoli (Microsoft) Objetivos: Crear una versión simplificada de SGML para la Web 20% de características de SGML ⇔ 80% de funcionalidad de SGML Detalle (Especificación de XML = 26 páginas, de SGML > 500Jose Emilio Labra Gayo – Universidad de Oviedo
  6. 6. XML y el comercio electrónico XML aparece en pleno apogeo del comercio electrónico Formato que permita transmitir información semiestructurada Problema: Dificultad de procesar automáticamente el lenguaje natural "…necesito 20 rotuladores RX2 de código R23, que escriban y 2 grapadoras Lin de código G56 envueltas para regalo"Jose Emilio Labra Gayo – Universidad de Oviedo
  7. 7. HTML y la información semiestructurada HTML es un lenguaje para presentaciones de hipertexto Las marcas indican únicamente cómo representar el contenido El sistema no entiende el contenido dentro de las marcas <html> <head><title>Pedido</title></title> <body> <h1>Pedido de material</h1> <table> <tr><th>Codigo</th><th>Nombre</th><th>Cantidad</th><th>Comentarios</th></tr> <tr><td>R23</td><td>Rotulador RX2</td><td>20</td><td>Color negro</td></tr> <tr><td>G56</td><td>Grapadora Lin</td><td>2</td><td>Envuelta para regalo</td></tr> </table> </html> Problema: ¿cómo identificar los campos? Técnicas de Screen scrappingJose Emilio Labra Gayo – Universidad de Oviedo
  8. 8. XML y el comercio electrónico Las marcas de XML permiten procesar de forma no ambigüa los documentos <pedido> <producto codigo="R23"> <nombre>Rotulador RX2</nombre> <cantidad>20</cantidad> <comentarios>Comprobad que escriben</comentarios> </producto> <producto codigo="G56"> <nombre>Grapadora Lin</nombre> <cantidad>2</cantidad> <comentarios>Envuelta para regalo</comentarios> </producto> </pedido>Jose Emilio Labra Gayo – Universidad de Oviedo
  9. 9. XML Declaración de <?xml version=“1.0” ?> XML <!DOCTYPE raíz[ … Declaración de ]> Tipo DTD Opcional <raíz> <elemento> … </elemento> Documento </raíz>Jose Emilio Labra Gayo – Universidad de Oviedo
  10. 10. Declaración de XML <?xml version=“1.0” encoding=“iso-8859-1” standalone=“yes”?> version: Actual = 1.0 También existe la versión 1.1 Mayor compatibilidad con Unicode Identificadores: Permite cualquier carácter Unicode encoding: UTF-8, UTF-16, iso-8859-1, etc. standalone: Indica si se puede gestionar el documento sin hacer uso de recursos externosJose Emilio Labra Gayo – Universidad de Oviedo
  11. 11. Documentos y elementos XML Los documentos consisten en una serie de datos marcados mediante etiquetas Las etiquetas describen la estructura del documento Un elemento = etiqueta inicial, etiqueta final y contenido entre ambas. La etiqueta inicial puede incluir atributos <etiqueta attributo=“valor”>……</etiqueta> Distinción minúsculas/mayúsculasJose Emilio Labra Gayo – Universidad de Oviedo
  12. 12. Documentos XML Elementos vacíos Elementos vacío: elementos que no incluyen información Habitualmente, incluyen atributos Ejemplo: <img src="foto.jpg" alt="Foto de Paisaje" ></img> Sintaxis abreviada: <etiqueta attributo=“valor”></etiqueta> ⇓ <etiqueta atributo=“valor”/> <img src="foto.jpg" alt="Foto de Paisaje" />Jose Emilio Labra Gayo – Universidad de Oviedo
  13. 13. Anidamiento Se pueden anidar elementos <externo> <interno>texto</interno> </externo>  ...pero no se pueden entrelazar:  <externo> <interno>texto</externo> </interno>Jose Emilio Labra Gayo – Universidad de Oviedo
  14. 14. Árbol del documento XML <pedido fecha="3/2/2011"> <producto codigo="G23"> <nombre>Grapadora</nombre> <cantidad>2</cantidad> <comentarios> Contactar con <persona>Juan</persona> Raíz </comentarios> Elemento </producto> <producto codigo="R15"> Atributo <nombre>Rotulador</nombre> <root> Texto <cantidad>10</cantidad> </producto> pedido </pedido> fecha producto producto 3/2/2011 codigo nombre cantidad comentarios codigo nombre cantidad G23 Grapadora 2 Contactar con persona R15 Rotulador 10 JuanJose Emilio Labra Gayo – Universidad de Oviedo
  15. 15. Ejercicio Dibujar el árbol del siguiente documento HTML <html> <head> <title>Pagina</title></head> <body> <h1>Ejemplo</h1> <p>Este párrafo tiene un <a href="http://www.uniovi.es">enlace</a> y un texto <em>enfatizado</em></p> </body> </html> NOTA: Cualquier documento HTML se puede representar como un árbolJose Emilio Labra Gayo – Universidad de Oviedo
  16. 16. Modificación del árbol El árbol DOM puede manipularse dinámicamente <html> <head> <title>Prueba</title> <script type="text/javascript"> function inserta() { var nuevo = document.createElement("p"); var saludo = document.createTextNode("¡Hola!"); nuevo.appendChild(saludo); document.body.appendChild(nuevo); } </script> </head> <body> <input type="button" value="Saluda!" onclick="inserta();" /> </body> </html> http://www.di.uniovi.es/~labra/cursos/XML/ejemplos/cambiaDOM.htmlJose Emilio Labra Gayo – Universidad de Oviedo
  17. 17. Atributos Cada elemento puede contener atributos en la etiqueta inicial <poema fecha=“Abril de 1915” lugar=“Granada”> . . . </poema> El orden de los atributos no es significativo No puede haber 2 atributos con el mismo nombre Las comillas dobles y simples pueden mezclarse <autor frase=“Juan dijo ‘Hola’ ”> ... </autor> <autor frase=‘Juan dijo “Hola” ’> ... </autor>Jose Emilio Labra Gayo – Universidad de Oviedo
  18. 18. Atributos predefinidos xml:lang especifica el idioma. Ejemplo: en (inglés), es (español) xml:space especifica cómo tratar el espacio en blanco. preserve = Mantenerlo default = Permitir a la aplicación que lo trate como quiera. xml:base: Especifica URL de base en las referencias relativas <doc xml:base=“http://www.ejemplo.org”> <link url=“friends.xml”>Amigos</link> </doc> xmlns:a Declara a como un alias para un espacio de nombresJose Emilio Labra Gayo – Universidad de Oviedo
  19. 19. Comentarios Mediante <!-- y --> <poema fecha="Abril de 1915" lugar="Granada"> <!-- Este poema es divertido --> <titulo>Alba</titulo> <verso>Mi corazón oprimido</verso> <!-- Cuando me inspire escribiré más versos --> </poema> NOTA: Dentro de los comentarios no pueden aparecer dos caracteres - seguidosJose Emilio Labra Gayo – Universidad de Oviedo
  20. 20. Caracteres especiales Mediante &#nº; se puede incluir un carácter Unicode Ejemplo: ∀ incluye ∀ &nombre; permite referenciar macros (se definen en una DTD) Algunas macros predefinidas &lt; < &gt; > &quot; “ &apos; ‘ &amp; & Para incluir los caracteres especiales, se utilizan las macros <código> if x &lt; 4 then x:=x + 1; </código>Jose Emilio Labra Gayo – Universidad de Oviedo
  21. 21. Secciones CDATA Las secciones CDATA permiten escribir texto literal que no será procesado <código> if x < 3 && x > 4 then print “Hola” </código> <código> <código> if x &lt; 3 <![CDATA[ &amp;&amp; x &gt; 4 then if x < 3 && x > 4 then print &quot;Hola&quot; print “Hola” </código> ]]> </código>Jose Emilio Labra Gayo – Universidad de Oviedo
  22. 22. Instrucciones de Procesamiento Indican alguna acción a realizar por una aplicación externa Si el procesador reconoce la aplicación externa le pasa los datos Si no la reconoce, se ignora Formato: <?aplicación datos ?> Se usan para asociar una hoja de estilos al documento: <?xml-stylesheet type="text/xsl" href=“hoja.xsl"?> ...o para otros propósitos especiales <?php ... ?> La declaración inicial podría considerarse una instrucción de procesamiento <?xml version="1.0" ?>Jose Emilio Labra Gayo – Universidad de Oviedo
  23. 23. Documento bien formado Documento bien formado Sigue las reglas sintácticas Importante: Contiene un único elemento raíz Todas las etiquetas están correctamente anidadas <pizzas> <pizzas> <pizza nombre="Margarita" precio="6"> <pizza nombre="Margarita" precio="6"> <ingrediente nombre="Tomate" /> <ingrediente nombre="Tomate" > <ingrediente nombre="Queso" /> </pizzas> </pizza> </pizzas> Jose Emilio Labra Gayo – Universidad de Oviedo
  24. 24. Documento válido Se puede incluir una declaración del tipo de documento <?xml version=“1.0”?> <!DOCTYPE poema SYSTEM “poema.dtd”> <poema fecha="Abril de 1915" lugar="Granada"> poema.dtd <!ELEMENT poema (titulo,verso*)> <titulo>Alba</titulo> <!ELEMENT titulo (#PCDATA)> <!ELEMENT verso (#PCDATA)> <verso>Mi corazón oprimido</verso> <!ATTLIST poema fecha CDATA #REQUIRED <verso>siente junto a la alborada</verso> lugar CDATA #IMPLIED> <verso>el dolor de sus amores</verso> <verso>y el sueño de las distancias. </verso> </poema> Documento válido Está bien formado y La estructura encaja con la declaración del tipo de documentoJose Emilio Labra Gayo – Universidad de Oviedo
  25. 25. Fin de la PresentaciónJose Emilio Labra Gayo – Universidad de Oviedo
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×