680 likes | 869 Vues
Introducci
E N D
1. D. Luis Alfonso Urea Lpez
Departamento de Informtica
Universidad de Jan
2. Introduccin Qu es XML? XML eXtensible Markup Language (Lenguaje Extensible de Marcas)
Lenguaje abierto, estndar (W3 Consortium) derivado de SGML, optimizado para su uso en la WWW.
Permite describir el sentido o la semntica de los datos.
El XML, a diferencia del HTML, separa el contenido de la presentacin.
XML es un Meta-Lenguaje, que permite la definicin de lenguajes concretos de representacin de documentos.
3. Qu no es XML? XML no es una versin mejorada de HTML.
XML no es un lenguaje para hacer mejores pginas web.
XML no es difcil.
4. Inconvenientes generales de HTML Est diseado para presentar informacin directamente a los humanos, y esto sin duda es algo bueno, pero es un lenguaje complicado de procesar para los programas informticos.
No es bueno porque no indica lo que est representando, se preocupa principalmente de que eso tiene que ir en azul, o con un tipo de letra determinada, pero no te dice que lo que est mostrando es el ttulo de un libro o el precio de un artculo.
5. Problemas de HTML Define ms la presentacin que el contenido.
No es fcilmente procesable por mquinas.
Su estructura es catica.
Su interpretacin es ambigua segn el software utilizado.
Su uso es la web.
6. Introduccin La idea que subyace bajo el XML es la de crear un lenguaje muy general que sirva para muchas cosas.
El XML describe el contenido de lo que etiqueta.
Cualquier programa de informtica puede trabajar ms eficientemente sobre XML que HTML.
7. Por qu XML? Es un estndar.
No pertenece a ninguna compaa y su utilizacin es libre.
Permite la utilizacin efectiva de Internet.
8. Diferencia entre el SGML, XML y HTML
9. Caractersticas Utilizo mis propias etiquetas.
La sintaxis es estricta. La especificacin XML determina claramente una serie de reglas que especifican cuando un documento est bien formado.
La utilizacin de una DTD (no es necesario, pero s recomendable).
Los elementos vacos. La propia etiqueta de inicio llevar una contrabarra al final que los identificar.
10. Ventajas de XML Un estndar libre.
Un lenguaje extensible.
Fcilmente procesable por humanos y software.
Una tecnologa ya implantada en el mercado.
Diseado para ser utilizado en cualquier lenguaje o alfabeto.
Separa el contenido de su representacin.
11. Ventajas de XML
12. Ventajas de XML Formato ideal para transacciones B2B.
Permite la aplicacin de tcnicas de extraccin de informacin y minera de datos.
Las estrictas reglas para la composicin de un documento XML permiten su fcil anlisis sintctico.
13. Resea histrica Desarrollado a partir de 1996, como subconjunto de SGML.
Adoptado como estndar en Febrero 1998 por el World Wide Web Consortium (W3C)
14. World Wide Web Consortium (W3C) Constituido en 1994 con el objetivo de desarrollar protocolos comunes para la evolucin de Intermet.
Es un consorcio de industrias internacionales, y est participado por el MIT (EEUU), INRIA (Francia), y Keio University (Japn).
Cuenta con el soporte oficial de DARPA (EEUU) y la Comisin Europea.
15. Terminologa XML eXtended Mark-up Language
SGML Standard Generalised Mark-up Language
XML "bien-formado"
Validacin
DTD Document Type Definition
Schema
XSL eXtended Stylesheet Language
Parser Analizador sintctico
16. Terminologa Elemento
Atributo
DOM Document Object Model
RDF Resource Description Frarnework
XLink, XPointer
SML Simple Mark-up Language
SMIL
XHTML
17. Tecnologas XML Especificacin
Definicin de documentos
Definicin de estilos
Enlazado de documentos
Aplicaciones XML v1.0
DTD o Schemas
XSL=XSLT+Xpath
XLL=XLink+XPointer
RDF, SMIL, HTML, etc.
18. Cmo construir documentos XML? Los fundamentos del XML son muy sencillos y en principio, para ir empezando, las nicas herramientas que nos harn falta son:
Un editor de textos, con el que escribir nuestros documentos XML (el notepad en Windows y el xemacs en Linux)
Un procesador o parser XML (Explorer 5.X, Mozilla, XMLWriter)
19. Editor XML
20. Estructura de un documento XML Aunque a primera vista, un documento XML puede parecer similar a HTML, hay una diferencia principal.
Un documento XML contiene datos que se autodefinen, exclusivamente.
Un documento HTML contiene datos mal definidos, mezclados con elementos de formato.
En XML se separa el contenido de la presentacin de forma total.
21. Ejemplo Una forma rpida de entender la estructura de un documento XML es viendo un ejemplo:
22. Ejemplo
<?xml version='1.0'?>
<album>
<titulo>Nos sobran los motivos</titulo>
<autor pais='ES'>SABINA</autor>
<formato>MP3</formato>
<localizacion>Varios CD5 </localizacion>
</album>
23. Estructura Cada documento XML posee una estructura lgica y una fsica.
La estructura lgica del documento es una serie de declaraciones, elementos, comentarios, etc. que se indican en el documento mediante marcas explcitas.
La estructura fsica del documento es una serie de unidades llamadas entidades, es decir, indica los datos que contendr el documento.
Las estructuras lgica y fsica deben anidarse de forma correcta.
24. Estructura jerrquica de los elementos Los elementos deben seguir una estructura de rbol (estrictamente jerrquica).
Los elementos deben estar correctamente anidados.
Los elementos no se pueden superponer entre ellos.
25. Ejemplo de XML Incorrecto
<?xml version='1.0'?>
<titulo>Nos sobran los motivos
Correcto
<?xml version='1.0'?>
<titulo>Nos sobran los motivos</titulo>
26. Estructura jerrquica Slo puede haber un elemento raiz, en el que estn contenidos todos los dems.
27. Ejemplo incorrecto <?xml version='1.0'?>
<titulo>Nos sobran los motivos</titulo>
<autor pais='ES'>SABINA</autor>
<formato>MP3</formato>
<localizacion>Varios CD5 </localizacion>
28. Ejemplo correcto <?xml version='1.0'?>
<album>
<titulo>Nos sobran los motivos</titulo>
<autor pais='ES'>SABINA</autor>
<formato>MP3</formato>
<localizacion>Varios CD5 </localizacion>
</album>
29. Documentos XML bien-formados
Se dice que un documento XML est bien-formado cuando cumple una serie de reglas descritas en la especificacin oficial de XML v1.0
30. Ejemplo <?xml version="1.0"?>
<!DOCTYPE MENSAJE SYSTEM "mensaje.dtd">
<mensaje>
<remite>
<nombre>L. Alfonso Urea</nombre>
<email>laurena@ujaen.es</email>
</remite>
<destinatario>
<nombre>Reyes Magos</nombre>
<email>reyesmagos@ilusion.com</email>
</destinatario>
<asunto>Peticin Reyes</asunto>
<texto>
<parrafo>Queridos Reyes, bla, bla, ....</parrafo>
</texto>
</mensaje>
31. El elemento y sus atributos <autor pais='ES'>SABINA</autor>
32. Etiquetas Todas las etiquetas tienen que estar debidamente cerradas es decir, con una etiqueta de cierre que se corresponda con la de apertura.
Las etiquetas vacas (es decir, sin contenido) tienen una sintaxis especial.
33. Ejemplos de XML incorrecto <automovil> Mercedes
<modelo tipo="220 CDI">
<automovil> Alfa Romeo
<modelo tipo="156 JTD">
<automovil> Volkswagen
<modelo tipo="Golf">
34. Ejemplos de XML incorrecto <automovil> Mercedes </automovil>
<modelo tipo="220 CDI">
<automovil> Alfa Romeo </automovil>
<modelo tipo="156 JTD">
<automovil> Volkswagen </automovil>
<modelo tipo="Golf">
35. Versin ms correcta <automovil> Mercedes </automovil>
<automovil> Alfa Romeo </automovil>
<automovil> Volkswagen </automovil>
36. Atributos Los valores de los atributos de los elementos siempre deben estar marcados con las comillas dobles () o sencillas ()
<modelo tipo="220 CDI"> Esto es correcto </modelo>
<modelo tipo=156 JTD> Esto es correcto </modelo>
<modelo tipo=Golf TDI> Esto es incorrecto </modelo>
37. Nombrando cosas Un nombre de elemento, atributo, entidad etc. empieza por una letra, y continua con letras, dgitos, guiones, rayas, punto o dos puntos.
El acrnimo XML (o xml o xMl, etc.) no pueden usarse como caracteres iniciales de un nombre de elemento, atributo, entidad, etc.
38. Nombrando cosas Segn la especificacin XML 1.0
Un nombre [empieza] con una letra o uno o ms signos de puntuacin, y [contina] con letras, dgitos, guiones, rayas, dos puntos o puntos, denominados de forma global como caracteres de nombre. Los nombres que empiezan con la cadena "xml", se reservan para la estandarizacin de esta o de futuras versiones de esta especificacin.
39. Tipo de letra y espacios en blanco El XML es sensible al tipo de letra utilizado (case-sensitive), es decir, trata las maysculas y minsculas como caracteres diferentes.
no es lo mismo <automovil> que <Automovil>
La especificacin XML 1.0 permite el uso de esos espacios en blanco para hacer ms legible el cdigo, y en general son ignorados por los procesadores XML.
En otros casos, los espacios en blanco resultan muy significativos, por ejemplo, para separar las palabras en un texto, o separar lneas de prrafos diferentes.
40. Marcado y datos Las construcciones como etiquetas, referencias de entidad y declaraciones se denominan marcas (mark-up). Estas son las partes del documento que el analizador sintctico (parser) espera comprender.
El resto del documento, que se encuentra entre las marcas, son los datos que resultan entendibles por las personas.
41. Marcado y datos Es sencillo reconocer las marcas en un documento XML.
Son aquellas porciones que empiezan con < y acaban con >
En el caso de las referencias de entidad, empiezan por & y acaban con ;.
42. Ejercicio Realice un documento XML sobre libros de una biblioteca, que tenga ttulo, autor, ISBN, editorial, ao, nmero de ejemplares, biblioteca de destino, breve descripcin del libro (las etiquetas las puede llamar como quiera).
43. Estructura
44. Prlogo Los documentos XML pueden empezar con unas lnea que describe:
versin de XML (de momento slo 1.0),
la codificacin de carcter (US-ASCII , UTF-8, UCS-2, EUC-JP, Big5, ISO-8859-1 hasta ISO- 8859-7). En general, y para uso con lenguajes europeos (incluyendo el juego de caracteres especiales del castellano, usamos UTF-7 o ISO-8859-1)
y algunas otras cosas
Es opcional
45. Prlogo La segunda lnea, o declaracin de tipo de documento, define qu tipo de documento estamos creando para ser procesado correctamente.
Definimos que Declaracin de Tipo de Documento (DTD Document Type Definition) valida y define los datos que contiene nuestro documento XML.
46. Prlogo En ella se define el tipo de documento, y dnde encontrar la informacin sobre su Definicin de Tipo de Documento, mediante un identificador pblico (PUBLIC) que hace referencia a dicha DTD, o mediante un Identificador Universal de Recursos (URI) precedido por la palabra SYSTEM.
47. Ejemplos de Prlogos <?xml version="1.0" encoding="UTF-7" ?>
<?xml version="1.0" encoding=" US-ASCII" ?>
<?xml version="1.0" encoding="UTF-7" ?>
<!DOCTYPE biblioteca SYSTEM mensaje.dtd >
<?xml version="1.0" encoding="UTF-7" ?>
<!DOCTYPE ejemplo SYSTEM "http://www.ejemplos.xml/ejemplo.dtd">
48. Validez de un documento XML Un documento XML es vlido si tiene asociado una DTD y el documento cumple las restricciones que la DTD expresa.
49. Elementos Son los objetos esenciales de un documento XML.
Los elementos XML pueden tener contenido (ms elementos, caracteres, o ambos a la vez), o bien ser elementos vacos.
Un elemento con contenido:
<vehiculo> J 8975 AF </vehiculo>
<caracteristica marca="Alfa Romeo" >
Mal estacionado</caracteristica>
50. Elementos Siempre empieza con una <etiqueta> que puede contener atributos o no, y termina con una </etiqueta> que debe tener el mismo nombre. Al contrario que HTML, en XML siempre se debe "cerrar" un elemento.
Hay que tener en cuenta que el smbolo "<" siempre se interpreta como inicio de una etiqueta XML. Si no es el caso, el documento no estar bien-formado.
51. Elementos vacos Un elemento vaco, es el que no tiene contenido (claro).
<caracteristica marca="Alfa Romeo/>
<parametro />
Al no tener una etiqueta de "cierre" que delimite un contenido, se utiliza la forma <etiqueta/>, que puede contener atributos o no.
52. Atributos Son la parte bsica y el objeto ms utilizado en la definicin de documentos XML.
Como se ha mencionado antes, los elementos pueden tener atributos, que son una manera de incorporar caractersticas o propiedades a los elementos de un documento.
El atributo consta de dos partes:
La propiedad del elemento
El valor de la propiedad
<vehiculo marca="Alfa Romeo" modelo="156 JTD" color="verde">Mal estacionado</vehiculo>
53. Atributos Al igual que en otras cadenas literales de XML, los atributos pueden estar marcados entre comillas verticales ( ' ) o dobles ( " ).
Cuando se usa uno para delimitar el valor del atributo, el otro tipo se puede usar dentro.
<vehiculo marca="Alfa Romeo" modelo="156 JTD" color=verde>Mal estacionado</vehiculo>
54. Atributos Un elemento con contenido, puede modelarse como un elemento vaco con atributos.
Un concepto se puede representar de muy diversas formas, pero una vez elegida una, es aconsejable fijarla en el DTD, y usar siempre la misma dentro de un documento XML.
55. Atributos <libro> <titulo>Seguridad para Intranet e Internet</titulo> <autor>E. Amoroso </autor> </libro>
<libro autor="E. Amoroso">Seguridad para Intranet e Internet</libro>
<libro titulo="Seguridad para Intranet e Internet" autor="E. Amoroso"/>
56. Entidades predefinidas En XML 1.0, se definen cinco entidades para representar caracteres especiales y que no se interpreten como marcado por el procesador XML.
Por ejemplo, podemos usar el carcter "<" sin que se interprete como el comienzo de una etiqueta XML.
57. Entidades predefinidas
58. Ejemplo <?xml version="1.0" encoding="UTF-7" standalone='yes'?>
<ejemplos>
<descripcion>Lo siguiente es un ejemplo de HTML.</descripcion>
<ejemplo>
<HTML>
<HEAD>
<TITLE>Rock & Roll</TITLE>
</HEAD>
</ejemplo>
</ejemplos>
59. Secciones CDATA Las secciones CDATA (Character Data) permiten especificar datos, utilizando cualquier carcter, especial o no, sin que se interprete como marcado XML.
La razn es que a veces es necesario para los autores de documentos XML, poder leerlos fcilmente sin tener que descifrar los cdigos de entidades. Especialmente cuando son muchas.
Las secciones CDATA empiezan por la cadena "<![CDATA" y terminan con la cadena "]]>" y slo sta ltima se reconoce como marca.
No se pueden anidar secciones CDATA.
60. Ejemplo CDATA <ejemplo>
<HTML>
<HEAD>
<TITLE>Rock & Roll</TITLE>
</HEAD>
</ejemplo>
61. Ejemplo CDATA <ejemplo>
<![CDATA[
<HTML>
<HEAD>
<TITLE>Rock & Roll</TITLE>
</HEAD>
]]>
</ejemplo>
62. Comentarios A veces es conveniente insertar comentarios en el documento XML, que sean ignorados por el procesado de la informacin y las reproducciones del documento.
Los comentarios tienen el mismo formato que los comentarios de HTML. Es decir, comienzan por la cadena "<!--" y terminan con "-->".
Se pueden introducir comentarios en cualquier lugar de la instancia o del prlogo, pero nunca dentro de las declaraciones, etiquetas, u otros comentarios.
63. Comentarios (ejemplo) ...
<!-- Esto es un ejemplo de comentario -->
...
<!-- esto es el final del documento -->
...
<!-- Este vehculo es sancionado -->
<vehiculo marca="Alfa Romeo" modelo="156 JTD" color="verde">Mal estacionado</vehiculo>
...
65. Aplicaciones XML Desarrollo de portales
66. Recapitulacin Definicin XML: El formato universal para documentos y datos estructurados en Internet.
67. Caractersticas W3C (recapitulacin) XML es un estndar para escribir datos estructurados en un fichero de texto.
XML parece HTML pero no lo es.
XML est en formato texto, pero no para ser ledo.
XML consta de una familia de tecnologas.
XML es prolijo, pero eso no supone un problema.
XML es nuevo, pero no tanto.
XML no requiere licencias, es independiente de la plataforma, y tiene un amplio soporte.
68. Enlaces Recomendados Robin Cover's XML Information
http://www.oasis-open.org/cover/
Sin duda alguna la gua ms completa sobre SGML/XML que nos podemos encontrar en Internet.
Free XML software
http://www.stud.ifi.uio.no/~larsga/linker/XMLtools.html
Estupenda recopilacin de software gratuito relacionado con XML. Esta pgina esta mantenida por Lars Marius Garshol.
69. Enlaces Recomendados XMLSOFTWARE
http://www.xmlsoftware.com/
Estupenda pgina sobre software XML mantenida por James Tauber.
Introduccin a XML en castellano http://ibium.com/alf/xml/index.asp