introducción a xml

34
Introducción a XML Universidad Técnica Federico Santa María Departamento de Electrónica ELO-330 Programación de Sistemas

Upload: tejana

Post on 22-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

Universidad Técnica Federico Santa María Departamento de Electrónica ELO-330 Programación de Sistemas. Introducción a XML. XML. XML (Extensible Markup Language) es un subconjunto del SGML (Standard Generalized Markup Language). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Introducción a XML

Introducción aXML

Universidad Técnica Federico Santa MaríaDepartamento de Electrónica

ELO-330 Programación de Sistemas

Page 2: Introducción a XML

XML

• XML (Extensible Markup Language)es un subconjunto del SGML (Standard Generalized Markup Language).

• XML es un metalenguaje con el que se pueden definir otros lenguajes de etiquetas.

• Los documentos XML tienen formato de texto.

• Desde febrero de 1998 es una recomendación del W3C (World Wide Web Consortium).

Page 3: Introducción a XML

Aplicaciones basadas en XML

En general, XML puede servir en tres casos:

• Para contener información

• Para definir el contenido de los mensajes

• Para describir el contenido de los mensajes

Page 4: Introducción a XML

0148I49A052209020622052002090206VANADU ADUANA EX JORGE CABE 02649000868610148I49N1506062002GEORGINA OLAVARRIA Y CIA.LTDA.AV.NUEVA COSTANERA 3730, VITACURA1313203788508204JORGE OLAVARRIA ROMUSSI 024845591BRU TEXTILES NV ZANDVOORSTRAAT 12 D B-2800 MECHELEN 51400000000000000000000000000000000000000000000000000000000514BELGICA 514BELGICA 04AMSTERDAM T621AEROP.A.M.BENIT992RAEROSAN S.A. (SA101805200200000000012205200200000000 22052002 2205200200000000000000000003649000868610148I49MARTINAIR HOLLAND 51596674490148110090000432 180520021922376 17052002ABX LOGISTICS 7996876070000000000000000000000000000000GENERAL 01004010060000000026921013000000004327300100000000312480010000000001084400000120000000000625000000000570000000004271700000000000000

04649000868610148I49001TEJIDO DE FILAMENTO CONTINUO DAE WON UNITECH-F 100 PCT. POLIESTER TENIDOS, SIN TEXTURIZAR TEJIDO DE TRAMA Y URDIMBRE 00000000000000000004385006E000000712611170000000000000 540761130000000427170007002230000000029900018000000178+0000000082270000000000000 0000000000000000000000000 0000000000000000000000000 000000000000

Aplicaciones basadas en XMLEjemplo Real de Método Antiguo Transmisión de

información

Page 5: Introducción a XML

<DSC><codproducto>YNUA00385</codproducto><FechaCreacionUsuario>2002-07-15 00:00:00.0</FechaCreacionUsuario><VersionProducto>2</VersionProducto><despachador>A54</despachador><RutCliente>86223700</RutCliente><DigitoVerificador>5</DigitoVerificador>

<DescripcionDeclarada>; SIERRA ALTERNATIVA; ALBER; KERF GANGSAW; DE 420MM X 13MM X

40MM X 0,80MM., PARA MAQUINA PARA TRABAJAR LA MADERA</DescripcionDeclarada><FechaCargaAduana>2002-08-14 16:27:58.0</FechaCargaAduana><RESPUESTAS>

<respuesta>ACEPTADO

</respuesta></RESPUESTAS>

</DSC>

Aplicaciones basadas en XMLEjemplo real en Aduana de Chile

Page 6: Introducción a XML

Aplicaciones basadas en XML

• Personalización de la WEB (lenguaje propio)Cada usuario (o grupo de usuarios) puede crear su propio lenguaje para el formato de datos y documentos, su propio vocabulario, según sus necesidades, siguiendo las reglas de XML.

• Aplicaciones XML para el comercio electrónico (intercambio)Aunque inicialmente XML se definió para separar contenido de presentación, ha resultado esencial para el intercambio de información estructurada a través de Internet

Page 7: Introducción a XML

Aplicaciones basadas en XML

• Gestión de la información / conocimiento (visual)

Si etiquetamos la información y a cada usuario se le proporciona una serie de etiquetas de interés, se podría resaltar la información que le es interesante, frente a la que no es relevante.

• Descargar trabajo en el Servidor (desaturación)

Por medio del Modelo de Objetos de Documentos (DOM), podemos evitarle trabajo al servidor, espera al cliente y no saturar tanto la red.

Page 8: Introducción a XML

Aplicaciones basadas en XML

• Buscador WEB (velocidad en búsquedas)

Si disponemos de un sitio donde toda la información se encuentre etiquetada en documentos XML, las búsquedas serían mucho más efectivas, ya que se conjuga la potencia de la búsqueda indexada junto la búsqueda semántica.

• Intercambio de información (seguridad, velocidad gestiones)

Si contratamos a una empresa y nos facilitan la estructura de los datos que vamos a recibir (DTD/Schema), sabremos en todo momento qué tipos de documentos XML estamos recibiendo, y podremos tratarlos de la forma que deseemos.

Page 9: Introducción a XML

Cómo trabajar con XML

• Navegadores (Browsers)• Editores XML• Parsers XML• Editores XSL

Page 10: Introducción a XML

Cómo trabajar con XMLUn documento XML tiene dos estructuras, una lógica y otra física.

• Físicamente, un documento XML puede consistir en una o más unidades de almacenamiento, llamadas entidades.

• Las entidades tienen contenido y están identificadas por un nombre.

• Cada documento XML contiene una entidad, llamada entidad documento, que sirve como punto de partida para el procesador XML y que puede contener el documento completo.

Page 11: Introducción a XML

Cómo trabajar con XMLEntidades Predefinidas

• En XML 1.0, se definen cinco entidades para representar caracteres especiales y que no se interpreten como marcado en el procesador XML. Es decir, por ejemplo, así podemos usar el carácter "<" sin que se interprete como el comienzo de una etiqueta XML.

Entidad Carácter&amp; & &lt; <&gt; >&apos; ' &quot; "

Page 12: Introducción a XML

Cómo trabajar con XML

• Lógicamente, esta estructurado en forma de árbol, con una raíz a partir de la cual se organiza la información.

• El documento está compuesto de declaraciones, elementos, comentarios, referencias a caracteres e instrucciones de procesamiento, todos los cuales están están indicados por una marca explícita.

Ej. <aviso tipo="emergencia" gravedad="mortal">Que no

cunda el pánico</aviso>

Page 13: Introducción a XML

Cómo trabajar con XML• Los elementos pueden tener atributos, que son una manera de

incorporar características o propiedades a los elementos de un documento.

Ej. un elemento "chiste" puede tener un atributo "tipo" y un atributo "calidad", con valores "vascos" y "bueno" respectivamente.

<chiste tipo="vascos" calidad="bueno"> Esto es un día que Patxi y Josu van paseando... </chiste>

Page 14: Introducción a XML

Cómo trabajar con XML

• Cada documento XML contiene uno o más elementos, cuyos limites están delimitados por etiquetas de comienzo y de final o, en el caso de elementos vacíos, por una etiqueta de elemento vacío.

• Cada elemento tiene un tipo, identificado por un nombre, denominado identificador genérico, y puede tener un conjunto de especificaciones de atributos.

Page 15: Introducción a XML

Cómo trabajar con XMLLa "declaración de tipo de documento" define qué tipo de documento

estamos creando para ser procesado. Es decir, definimos que declaración de tipo de documento (DTD) valida y define los datos que contiene nuestro documento XML.

• Un identificador público (PUBLIC): que hace referencia a dicha DTD. El tipo de documento

• Identificador universal de recursos (URI): precedido de la palabra SYSTEM. Dónde encontrar la información sobre su Definición

•Ej. <!DOCTYPE MESAJE SYSTEM "mesaje.dtd">

<!DOCTYPE HTML PUBLIC "-/ /W3C/ /DTD HTML 3.2 Final/ /EN">

<!DOCTYPE LABEL SYSTEM “http://azuaje.ulpgc.es/dtds/label.dtd"> •

Page 16: Introducción a XML

Estructura de XML

• Un documento bien formado es aquel documento que cumple con la especificación de XML 1.0, es decir que sea sintáctica mente correcto.

• Un documento XML bien formado debe seguir algunas reglas básicas:

Debe contener uno o más elementos.Debería comenzar con una declaración XML.

Ej. <?xml version="1.0"standalone="yes"?> (explicación)Sólo puede haber un elemento raíz.

Page 17: Introducción a XML

Estructura de XML

Cumple todas las restricciones que proporciona su especificación a través del DTD.

Toda etiqueta abierta hay que cerrarla. Para cada etiqueta de inicio debe existir una etiqueta de termino. Las únicas etiquetas que van solas son las etiquetas vacías.

Ej. < Nombre> Rodrigo </Nombre>

<xsd:attribute name="xxx" type="yyy"/>

Page 18: Introducción a XML

Estructura de XML

Es sensible a mayúsculas y minúsculas, las etiquetas de inicio y de termino se tienen que escribir igual.

No se pueden intercalar etiquetas. Ej. <li>HTML <b> permite <i> esto </b> </i>.

<li>En XML la <b> estructura <i> es </i> jerárquica </b>.</li>

Una etiqueta puede tener atributos cerrados entre comillas.

Ej. <xsd:attribute name=“idioma"/> El nombre de las etiquetas empiezan con una letra, o con

uno o más signos de puntuación.Los comentarios van encerrados.

Page 19: Introducción a XML

Estructura de XML

• Un ejemplo de un documento XML bien formado:

<?xml version="1.0" standalone="yes"?><biblioteca>

<libro call_no="PZ3.S8195Gr6"><cover href="grapes.gif" alt="Grapes of Wrath"/><titulo>The Grapes of Wrath</titulo><autor>

<apellido>Steinbeck</apellido><nombre>John</nombre>

</autor><publicación>Viking Press</publicación><año_pub>1939</año_pub>

</libro></biblioteca>

Page 20: Introducción a XML

¿XERCER?• Xercer es un parser XML, es decir, un

analizador del archivo XML, que establece si éste es válido.

• Xercer es desarrollado y mantenido por la organización apache.

• Es multiplataforma.

Page 21: Introducción a XML

Xerces-J

• Característica:100% en conformidad con XML Schema

processor

Page 22: Introducción a XML

Xerces-J

eXtensible Markup Language (XML) 1.0 Third Edition Recommendation

Namespaces in XML Recommendation eXtensible Markup Language (XML) 1.1 First Edition

Recommendation Namespaces in XML 1.1 Recommendation Document Object Model (DOM) Level 2 Core, Events, and

Traversal and Range Recommendations Simple API for XML (SAX) 2.0.1 Core, and Extensions Java APIs for XML Processing (JAXP) 1.2 XML Schema 1.0 Structures and Datatypes

Recommendations

Xerces2 Java Parser 2.6.2, apoya los siguientes estándares y APIs:

Page 23: Introducción a XML

Xerces-J

• La mayor parte de los Parser pueden trabajar de dos formas:

de forma independiente.usándolos como librerías desde lenguajes de

programación.

• Xercer-J no es la excepción: se puede usar stand-alone.o como una librería xerces.jar, cuyos objetos

se pueden instanciar desde los programas.

Page 25: Introducción a XML

ConclusionesPerspectivas futuras de XML .

• Existen herranmientas que apoyan el desarrollo y la implementación de XML, entre ellas se encuentra Xercer, el cual esta implementado para ser usado con Java.

• XML tiene un muy amplio campo de aplicaciones, que le permite seguir creciendo como ayuda a los usuarios de internet .

• Agentes

Page 26: Introducción a XML

• XML, a pesar de su rápido desarrollo, tiene un largo camino hacia su total madurez. Esta parte explora desde el punto de vista técnico y político el futuro de XML y estándares asociados tanto dentro de W3C

como fuera de ella.

Page 27: Introducción a XML

FINal

Page 28: Introducción a XML

DTD

• Un "Document type definition“, DTD, es una declaración en un documento de SGML o de XML que especifiqua apremios en la estructura del documento. Puede ser incluido dentro del archivo de documento, pero se almacena normalmente en un archivo separado de ASCII-text. La sintaxis del DTD de SGML y de DTD de XML son muy similares, pero no idénticos

Page 29: Introducción a XML

Example

Un ejemplo de un muy simple DTD de XML para describir un lista de personas es dado a continuación:

<!ELEMENT people_list (person*)> <!ELEMENT person (name, birthdate?, gender?, socialsecuritynumber?)> <!ELEMENT name (#PCDATA) > <!ELEMENT birthdate (#PCDATA) > <!ELEMENT gender (#PCDATA) > <!ELEMENT socialsecuritynumber (#PCDATA) >

Tomando esto línea por línea, dice:

• Una "people_list" es un elemento que contiene muchos elemetos "person". El "*" denota que pueden haber 0, 1 o muchos elementos "person".

• Un elemento "person" contiene los elementos "name", "birthdate", "gender" y "socialsecuritynumber". El "?" indica que un elemento es opcional. El elemento "name" no tiene "?", entonces "person" debe contener un elemento"name".

• Un elemento "name" contiene información. • Un elemento "birthdate" contiene información. • Un elemento "gender" contiene información. • Un elemento "socialsecuritynumber" contiene información.

Page 30: Introducción a XML

Un ejemplo de un archivo XML, el cual usa el DTD

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE people_list SYSTEM “example.dtd">

<people_list> <person>

<name>Fred Bloggs</name> <birthdate>27/11/2008</birthdate> <gender>Male</gender>

</person> </people list>

Aplicaciones Estructura

Page 31: Introducción a XML

XML DOM

¿Cómo funciona XML DOM?

• Los archivos _XML, son enviados a la máquina cliente, en la cual, gracias a DOM, se pueden realizar las operaciones pedidas por los clientes. Una vez, que el cliente termina sus requerimientos, la información es reenviada, al servidor. Gracias a DOM, no hay pérdida, ni desorden en los datos enviados.

Aplicaciones

Page 32: Introducción a XML

Metadato

• Metadatos: información sobre los datos. • Proporcionan descriptores, propiedades, información acerca de otros

objetos (textos, contenidos multimedia, manuales, programas, personas, etc.) para simplificar su uso y su gestión o facilitar su localización.

• En las bibliotecas existen desde tiempos inmemoriales en forma de fichas de catálogo, que facilitan la localización de los documentos.

• En Internet esto no es tan fácil: los metadatos deben ser adecuados para la interpretación tanto por parte de las personas como por los robots de búsqueda.

• Además deben ser tan fáciles de crear que cualquier autor pueda describir el contenido de sus páginas: accesibilidad y utilidad.

Page 33: Introducción a XML

Metadato

La etiqueta META del HTML.

Ej: se usa “keyworks” para indexar y devuelve description en lugar de las dos primeras líneas del documento.

<META NAME="description" CONTENT="XML, formatos para Internet">

<META NAME="keyworks" CONTENT="XML, Internet, ebusiness">

Page 34: Introducción a XML

Declaración

• version: Indica la versión de XML usada en el documento. Es obligatorio ponerlo, a no ser que sea un documento externo a otro que ya lo incluía.

• encoding: La forma en que se ha codificado el documento. Se puede poner cualquiera, y depende del parser el entender o no la codificación. Por defecto es UTF-8, aunque podrían ponerse otras, como UTF-16, US-ASCII, ISO-8859-1, etc. No es obligatorio salvo que sea un documento externo a otro principal.

• standalone: Indica si el documento va acompañado de un DTD ("no"), o no lo necesita ("yes"); en principio no hay porqué ponerlo, porque luego se indica el DTD si se necesita

Volver