La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

MANEJO DE DOCUMENTOS XML EN MHP Leire Urriza Oiz.

Presentaciones similares


Presentación del tema: "MANEJO DE DOCUMENTOS XML EN MHP Leire Urriza Oiz."— Transcripción de la presentación:

1 MANEJO DE DOCUMENTOS XML EN MHP Leire Urriza Oiz

2 18/10/2006.2 E.T.S de Ingenieros de Telecomunicación Índice Introducción a XML Origen y comparación con HTML Principales usos de XML Estructura de un documento XML Definición del tipo de documento (DTD) Tipos de documentos XML Utilización de XML en el ámbito de MHP Mapeo de XML a Java ¿Qué es un parser? Metodologías de manipulación de documentos XML: SAX DOM El parser NanoXML Bibliografía

3 18/10/2006.3 E.T.S de Ingenieros de Telecomunicación Origen y comparación con HTML (1/3) XML (eXtensible Markup Language) significa lenguaje de marcas generalizado Es un metalenguaje lenguaje compuesto por elementos descriptivos que sirve para definir lenguajes Conjunto de reglas para definir etiquetas necesarias para organizar un documento. Uso: Estructurar información en un documento Basado en el estándar SGML creado por IBM Se derivan HTML y XML –HTML orientado a la presentación de datos –XML orientado a los datos en sí mismos HTML y XML son complementarios

4 18/10/2006.4 E.T.S de Ingenieros de Telecomunicación Origen y comparación con HTML (2/3) Código XML Muebles Albacete 40000 2 excelente azul 3 normal Código HTML Comedor Mesa redonda de madera de arce. El fabricante es Muebles Albacete y su precio 40000. Dos sillas de madera de arce, de excelente calidad, con un cojín azul cada una. 3 sillas de madera de roble.

5 18/10/2006.5 E.T.S de Ingenieros de Telecomunicación Origen y comparación con HTML (3/3) Código XML Orientado a los datos en si mismos No define: Etiquetas ni cómo se utilizan Define: Reglas sintácticas para crear documentos (es un metalenguaje) Sirve para representar e intercambiar datos independientemente de su presentación Código HTML Orientado a la presentación de datos Define: Conjunto de etiquetas y atributos válidos Utilización válida de estos elementos Significado visual para cada elemento del lenguaje Sirve para presentar información en páginas web HTML y XML son complementarios

6 18/10/2006.6 E.T.S de Ingenieros de Telecomunicación Índice Introducción a XML Origen y comparación con HTML Principales usos de XML Estructura de un documento XML Definición del tipo de documento (DTD) Tipos de documentos XML Utilización de XML en el ámbito de MHP Mapeo de XML a Java ¿Qué es un parser? Metodologías de manipulación de documentos XML: SAX DOM El parser NanoXML Bibliografía

7 18/10/2006.7 E.T.S de Ingenieros de Telecomunicación Principales usos de XML XML aplicado a sitios web Permite separar contenido y presentación Los mismos datos se pueden mostrar de distintas formas sin demasiado esfuerzo XML para la comunicación entre aplicaciones Representación de los datos muy simple y fácil de transmitir por la red XML para la configuración de programas Representación de los datos simple y estándar.

8 18/10/2006.8 E.T.S de Ingenieros de Telecomunicación Índice Introducción a XML Origen y comparación con HTML Principales usos de XML Estructura de un documento XML Definición del tipo de documento (DTD) Tipos de documentos XML Utilización de XML en el ámbito de MHP Mapeo de XML a Java ¿Qué es un parser? Metodologías de manipulación de documentos XML: SAX DOM El parser NanoXML Bibliografía

9 18/10/2006.9 E.T.S de Ingenieros de Telecomunicación Estructura de un documento XML (1/8) Declaración de un documento XML Sintaxis Contenido Ejemplo

10 18/10/2006.10 E.T.S de Ingenieros de Telecomunicación Estructura de un documento XML (2/8) Declaración de un documento XML Para crear un documento XML solo se necesita: Un procesador de textos Guardar el documento con extensión.xml Para identificar un fichero como XML, la primera línea del documento debe ser: donde: version versión de XML usada en el documento. La actual es la versión 1.0. encoding forma en que se ha codificado el documento. Por defecto: UTF-8 alfabeto Unicode Para documentos en español mejor ISO-8859-1 alfabeto latin-1 standalone indica si el documento va acompañado de un DTD (no) o no lo necesita (yes). No hay porqué ponerlo ya que luego se indica el DTD si se necesita.

11 18/10/2006.11 E.T.S de Ingenieros de Telecomunicación Estructura de un documento XML (3/8) Declaración de un documento XML Sintaxis Contenido Ejemplo

12 18/10/2006.12 E.T.S de Ingenieros de Telecomunicación Estructura de un documento XML (4/8) Sintaxis Aspectos a tener en cuenta: Sensibilidad a las MAYÚSCULAS se diferencia entre MAYÚSCULAS y minúsculas. Existen 5 caracteres especiales que forman parte de la sintaxis de XML: Menor que <, para representarlo usar la entidad < Mayor que >, para representarlo usar la entidad &lg; Ampersand &, para representarlo usar la entidad & Dobles comillas, para representarlo usar la entidad " Apóstrofe, para representarlo usar la entidad &apos; & es un carácter especial que se usa para representar entidades: Entidad: carácter adicional que no forma parte del alfabeto usado por defecto en el texto. –Comienza por & seguido del nombre de la entidad e inmediatamente un punto y coma. Los valores de los atributos de todas las etiquetas deben ir siempre entrecomillados ( o )

13 18/10/2006.13 E.T.S de Ingenieros de Telecomunicación Estructura de un documento XML (5/8) Declaración de un documento XML Sintaxis Contenido Ejemplo

14 18/10/2006.14 E.T.S de Ingenieros de Telecomunicación Estructura de un documento XML (6/8) Contenido Un documento XML está compuesto por elementos que se representan mediante etiquetas: Elementos son las entidades en sí, lo que tiene contenido Vacíos: no tienen contenido dentro del documento No vacíos Etiquetas describen a los elementos. Es deseable que sus nombres no contengan ni espacios ni caracteres especiales. Toda etiqueta no vacía debe tener una etiqueta de cerrado contenido de la etiqueta Orden jerárquico Ingeniería Eléctrica y Electrónica Pueden contener atributos Ingeniería Eléctrica y Electrónica La decisión entre especificar –Elemento descendiente –Atributos queda a discreción del diseñador

15 18/10/2006.15 E.T.S de Ingenieros de Telecomunicación Estructura de un documento XML (7/8) Declaración de un documento XML Sintaxis Contenido Ejemplo

16 18/10/2006.16 E.T.S de Ingenieros de Telecomunicación Estructura de un documento XML (8/8) Ejemplo Novela: Felisinda (Capítulo 550). Capítulo repetido por fallos en el sistema Hora inicio: 15:30h Hora fin: 16:30h RESUMEN: En el capitulo de hoy Felisinda no puede reprimir la tentacion de usurpar el sillón de su jefe. Esto traerá consecuencias que ni ella misma imagina... 0 720 576 50 320 280 200 dvb://1.3.1.65 dvb://1.3.1.68

17 18/10/2006.17 E.T.S de Ingenieros de Telecomunicación Índice Introducción a XML Origen y comparación con HTML Principales usos de XML Estructura de un documento XML Definición del tipo de documento (DTD) Tipos de documentos XML Utilización de XML en el ámbito de MHP Mapeo de XML a Java ¿Qué es un parser? Metodologías de manipulación de documentos XML: SAX DOM El parser NanoXML Bibliografía

18 18/10/2006.18 E.T.S de Ingenieros de Telecomunicación Definición del tipo de documento (DTD) (1/6) DTD (Document Type Definition) Define: Elementos que puede incluir un documento XML Forma en que deben hacerlo (qué elementos van dentro de otros) Atributos que se les pueden dar Existen dos formas de referenciar un DTD en un documento XML: Referencia en forma de URL DTD dentro del propio documento XML

19 18/10/2006.19 E.T.S de Ingenieros de Telecomunicación Definición del tipo de documento (DTD) (2/6) Referencia en forma de URL Ejemplo: donde: Se usa la declaración <!DOCTYPE Nombre del documento nombre del elemento raíz del documento XML Palabra SYSTEM indica que el DTD se obtendrá a partir de un elemento externo URL en la que se encuentre el DTD entrecomillada

20 18/10/2006.20 E.T.S de Ingenieros de Telecomunicación Definición del tipo de documento (DTD) (3/6) DTD (Document Type Definition) Define: Elementos que puede incluir un documento XML Forma en que deben hacerlo (qué elementos van dentro de otros) Atributos que se les pueden dar Existen dos formas de referenciar un DTD en un documento XML: Referencia en forma de URL DTD dentro del propio documento XML

21 18/10/2006.21 E.T.S de Ingenieros de Telecomunicación Definición del tipo de documento (DTD) (4/6) DTD dentro del propio XML (1/3) Ejemplo: <!DOCTYPE servicio [ ]> Definir elemento Nombre elementoTipo de datosElementos descendientes Opcional pero singular Definir atributo Nombre del elemento del que se declara el atributo Nombre atributo Posibles valores del atributo o CDATA obligatorio

22 18/10/2006.22 E.T.S de Ingenieros de Telecomunicación Definición del tipo de documento (DTD) (5/6) DTD dentro del propio XML (2/3) Se usa la sentencia <!DOCTYPE pero en vez de la URL se incluye el propio DTD entre los símbolos [ y ] (todo lo que hay entre ellos se considera parte del DTD) Notas: Para definir un elemento se usa la declaración <!ELEMENT seguida del nombre del elemento y entre paréntesis: Tipo de datos que contiene (#PCDATA, para alfanumérico) Elementos descendientes: –Caracteres especiales: »+ obligatorio y múltiple »* opcional y múltiple »? opcional pero singular »| un elemento y solo uno de entre los que forman la expresión Para definir un atributo se usa la declaración <!ATTLIST seguida de: Nombre del elemento del que se está declarando el atributo Nombre del propio atributo Posibles valores del atributo (separados por |) o CDATA para indicar cualquier valor Valor por defecto entrecomillado (opcional) #REQUIRED (obligatorio), #IMPLIED (no obligatorio), #FIXED (fijo)

23 18/10/2006.23 E.T.S de Ingenieros de Telecomunicación Definición del tipo de documento (DTD) (6/6) DTD dentro del propio XML (3/3) Ejemplo de XML que cumpliría el DTD anterior: Novela: Felisinda (Capítulo 550). Capítulo repetido por fallos en el sistema Hora inicio: 15:30h Hora fin: 16:30h RESUMEN: En el capitulo de hoy Felisinda no puede reprimir la tentacion de usurpar el sillón de su jefe. Esto traerá consecuencias que ni ella misma imagina...

24 18/10/2006.24 E.T.S de Ingenieros de Telecomunicación Índice Introducción a XML Origen y comparación con HTML Principales usos de XML Estructura de un documento XML Definición del tipo de documento (DTD) Tipos de documentos XML Utilización de XML en el ámbito de MHP Mapeo de XML a Java ¿Qué es un parser? Metodologías de manipulación de documentos XML: SAX DOM El parser NanoXML Bibliografía

25 18/10/2006.25 E.T.S de Ingenieros de Telecomunicación Tipos de documentos XML Existen dos tipos de documentos XML: Bien formados Cumplen especificaciones del lenguaje (reglas sintácticas) No están sujetos a unos elementos fijados en un DTD Válidos Están bien formados (cumplen reglas sintácticas) Siguen estructura y semántica determinada por un DTD

26 18/10/2006.26 E.T.S de Ingenieros de Telecomunicación Índice Introducción a XML Origen y comparación con HTML Principales usos de XML Estructura de un documento XML Definición del tipo de documento (DTD) Tipos de documentos XML Utilización de XML en el ámbito de MHP Mapeo de XML a Java ¿Qué es un parser? Metodologías de manipulación de documentos XML: SAX DOM El parser NanoXML Bibliografía

27 18/10/2006.27 E.T.S de Ingenieros de Telecomunicación Utilización de XML en el ámbito de MHP (1/7) Tres campos de actividad en los cuales XML juega un papel importante: En la propia norma MHP En la caracterización de la metainformación de contenidos En el ámbito de la implementación de aplicaciones

28 18/10/2006.28 E.T.S de Ingenieros de Telecomunicación Utilización de XML en el ámbito de MHP (2/7) En la propia norma MHP En la propia norma MHP: Frecuentemente el intercambio de información entre entidades se resuelve usando aplicaciones XML que estructuran los datos a enviar. Solicitud de permisos fichero XML en el que se relacionan todos los componentes que es necesario almacenar Almacenamiento local de aplicaciones fichero XML en el que se relacionan todos los componentes que es necesario almacenar Interactividad con aplicaciones descargadas (acceso a Internet a través de TV, super-teletexto…) usan dos aplicaciones XML para implementación del envío de mensajes de sincronización.

29 18/10/2006.29 E.T.S de Ingenieros de Telecomunicación Utilización de XML en el ámbito de MHP (3/7) Tres campos de actividad en los cuales XML juega un papel importante: En la propia norma MHP En la caracterización de la metainformación de contenidos En el ámbito de la implementación de aplicaciones

30 18/10/2006.30 E.T.S de Ingenieros de Telecomunicación Utilización de XML en el ámbito de MHP (4/7) En la caracterización de la metainformación de contenidos En la caracterización de la metainformación de contenidos: En el ámbito de TV Digital, el proyecto mas significativo es el promovido por el foro TV-Anytime El incremento desmesurado de contenidos y la dificultad de encontrar lo que se busca desarrollo de mecanismos para caracterizar contenidos y permitir referenciarlos independientemente de su localización y fecha de emisión. El objetivo principal es separar la información que describe a los contenidos de aquella otra necesaria para su adquisición e independizar todo esto del mecanismo de transporte

31 18/10/2006.31 E.T.S de Ingenieros de Telecomunicación Utilización de XML en el ámbito de MHP (5/7) Tres campos de actividad en los cuales XML juega un papel importante: En la propia norma MHP En la caracterización de la metainformación de contenidos En el ámbito de la implementación de aplicaciones

32 18/10/2006.32 E.T.S de Ingenieros de Telecomunicación Utilización de XML en el ámbito de MHP (6/7) En el ámbito de la implementación de aplicaciones (1/2) En el ámbito de la implementación de aplicaciones: La estructura de información modelada mediante las aplicaciones XML puede abarcar desde los elementos descriptores de la red de difusión hasta los componentes de las aplicaciones interactivas disponibles en cada canal de televisión. Por ejemplo:

33 18/10/2006.33 E.T.S de Ingenieros de Telecomunicación Utilización de XML en el ámbito de MHP (7/7) En el ámbito de la implementación de aplicaciones (2/2) Limitando la descripción a las entidades más importantes, se puede otorgar el papel de elemento raíz del sistema a la entidad red de difusión. Este elemento estaría compuesto por varios flujos de transporte. Cada flujo de transporte, a su vez, estaría formado por los diferentes servicios (canales de televisión)

34 18/10/2006.34 E.T.S de Ingenieros de Telecomunicación Índice Introducción a XML Origen y comparación con HTML Principales usos de XML Estructura de un documento XML Definición del tipo de documento (DTD) Tipos de documentos XML Utilización de XML en el ámbito de MHP Mapeo de XML a Java ¿Qué es un parser? Metodologías de manipulación de documentos XML: SAX DOM El parser NanoXML Bibliografía

35 18/10/2006.35 E.T.S de Ingenieros de Telecomunicación ¿Qué es un parser? El parser es para XML como un sistema operativo a una computadora: IMPRESCINDIBLE Herramienta utilizada para procesar cualquier documento, estructura o fragmento en XML Realiza el trabajo sucio: Detectar principio y fin de un elemento Gestionar espacios de nombres Comprobar que el documento está bien formado El diseñador de aplicaciones sólo debe concentrarse en aspectos específicos de la aplicación Existen diversos parsers para diversos lenguajes información residente en XML puede ser procesada en un ambiente de programación específico, en nuestro caso invocando métodos en Java Pasar un documento XML a clases de Java es un proceso de parsing. Cuando se procesa cualquier información XML, lo primero es comprobar si está bien formada y luego, si incluye referencia a un DTD, comprobar que sigue sus reglas gramaticales. Hay pues diferencia entre los parsers: Parsers no validadores no comprueban si se siguen reglas de un DTD Parsers validadores comprueban que se atiende a un DTD y es válido

36 18/10/2006.36 E.T.S de Ingenieros de Telecomunicación Índice Introducción a XML Origen y comparación con HTML Principales usos de XML Estructura de un documento XML Definición del tipo de documento (DTD) Tipos de documentos XML Utilización de XML en el ámbito de MHP Mapeo de XML a Java ¿Qué es un parser? Metodologías de manipulación de documentos XML: SAX DOM El parser NanoXML Bibliografía

37 18/10/2006.37 E.T.S de Ingenieros de Telecomunicación Metodologías de manipulación de documentos XML (1/2) El W3C (World Wide Web Consortium) ha especificado dos mecanismos para acceder a documentos XML y trabajar con ellos. SAX (Simple API for XML) Se utiliza para hacer un recorrido secuencial de los elementos del documento XML DOM (Document Object Model) Implica la creación de un árbol en memoria que contiene el documento XML y así, con él en memoria, poder hacer cualquier tipo de recorrido y acciones con los elementos que se desee En el caso de Java, SUN Microsystems provee las APIs para que los desarrolladores cuenten con las clases necesarias para programar con XML

38 18/10/2006.38 E.T.S de Ingenieros de Telecomunicación Metodologías de manipulación de documentos XML (2/2) APIs existentes en Java para trabajar con documentos XML: SAX (Simple API for XML) Introducción a SAX El parser SAX DOM (Document Object Model) Introducción a DOM El parser DOM

39 18/10/2006.39 E.T.S de Ingenieros de Telecomunicación Introducción a SAX API SAX es el primer punto de unión del mundo XML con el mundo de la programación en general, y en particular con Java Principales características: El documento se lee secuencialmente de principio a fin SAX procesa la información en XML conforme esta sea presentada (evento por evento), manipulando cada elemento en un determinado instante, sin incurrir en un uso excesivo de memoria. No se carga todo el documento en memoria Ventajas: Sencillo y rápido de utilizar Eficiencia en cuanto al tiempo y la memoria empleados en el sistema Ideal para manipular documentos XML de gran tamaño Desventajas: No se dispone de la estructura en árbol de los documentos XML No se puede recorrer jerárquicamente, solo análisis secuencial

40 18/10/2006.40 E.T.S de Ingenieros de Telecomunicación Metodologías de manipulación de documentos XML (2/2) APIs existentes en Java para trabajar con documentos XML: SAX (Simple API for XML) Introducción a SAX El parser SAX DOM (Document Object Model) Introducción a DOM El parser DOM

41 18/10/2006.41 E.T.S de Ingenieros de Telecomunicación El parser SAX Para poder trabajar con documentos XML mediante SAX es necesario un parser SAX Uso de SAX desde Java: Conseguir clases que componen el parser Incluir estas clases en la ruta de clases Muchos parsers en el mercado Xerces para Java de Apache No ha sido el parser utilizado en el presente proyecto. Gran tamaño inviable en el entorno de la televisión digital. –Hay que incluir la librería del parser al generar el transport stream En el presente proyecto, se ha optado por usar el parser NanoXML.

42 18/10/2006.42 E.T.S de Ingenieros de Telecomunicación Metodologías de manipulación de documentos XML (2/2) APIs existentes en Java para trabajar con documentos XML: SAX (Simple API for XML) Introducción a SAX El parser SAX DOM (Document Object Model) Introducción a DOM El parser DOM

43 18/10/2006.43 E.T.S de Ingenieros de Telecomunicación Introducción a DOM La API DOM constituye un paso más allá en el uso de XML desde un lenguaje de programación, y en particular desde Java Principal característica: El documento se carga entero en memoria en una estructura de árbol Ventajas: Se puede acceder a los datos en función de la jerarquía de los elementos Se puede agregar un nodo (información) en cualquier punto del árbol Se puede eliminar información de un nodo en cualquier punto del árbol Se pueden crear documentos desde cero Desventajas: Coste (en tiempo y memoria) que conlleva construir el árbol para un documento, sobre todo si tiene cierto tamaño Ideal para manipular documentos XML de poco tamaño

44 18/10/2006.44 E.T.S de Ingenieros de Telecomunicación Metodologías de manipulación de documentos XML (2/2) APIs existentes en Java para trabajar con documentos XML: SAX (Simple API for XML) Introducción a SAX El parser SAX DOM (Document Object Model) Introducción a DOM El parser DOM

45 18/10/2006.45 E.T.S de Ingenieros de Telecomunicación El parser DOM Para poder trabajar con documentos XML mediante DOM es necesario un parser DOM (se suele apoyar en un parser SAX) Uso de DOM desde Java: Conseguir clases que componen el parser Incluir estas clases en la ruta de clases Muchos parsers en el mercado Xerces para Java de Apache El mismo que se comentó en SAX pero importando las clases oportunas para trabajar con DOM No ha sido el parser utilizado en el presente proyecto. Gran tamaño inviable en el entorno de la televisión digital. –Hay que incluir la librería del parser al generar el transport stream En el presente proyecto, se ha optado por usar el parser NanoXML.

46 18/10/2006.46 E.T.S de Ingenieros de Telecomunicación Índice Introducción a XML Origen y comparación con HTML Principales usos de XML Estructura de un documento XML Definición del tipo de documento (DTD) Tipos de documentos XML Utilización de XML en el ámbito de MHP Mapeo de XML a Java ¿Qué es un parser? Metodologías de manipulación de documentos XML: SAX DOM El parser NanoXML Bibliografía

47 18/10/2006.47 E.T.S de Ingenieros de Telecomunicación El parser NanoXML Introducción a NanoXML NanoXML 2 Análisis de un documento XML con NanoXML Carga de un documento XML Acceso y análisis de contenido Acceso al nombre de un IXMLElement Acceso a un atributo de un IXMLElement Lectura del contenido de un IXMLElement Acceso a un elemento descendiente de un IXMLElement

48 18/10/2006.48 E.T.S de Ingenieros de Telecomunicación Introducción a NanoXML Aparición en abril de 2000 Propósito: Ser un pequeño parser fácil de usar Parsers SAX y DOM eran demasiado complejos para ciertas necesidades y, o bien eran demasiado grandes o tenían una licencia muy restrictiva Versión 1 de NanoXML Muy pequeño (unos 6K) Razonablemente rápido para documentos XML pequeños Sencillo de usar Gratis

49 18/10/2006.49 E.T.S de Ingenieros de Telecomunicación El parser NanoXML Introducción a NanoXML NanoXML 2 Análisis de un documento XML con NanoXML Carga de un documento XML Acceso y análisis de contenido Acceso al nombre de un IXMLElement Acceso a un atributo de un IXMLElement Lectura del contenido de un IXMLElement Acceso a un elemento descendiente de un IXMLElement

50 18/10/2006.50 E.T.S de Ingenieros de Telecomunicación NanoXML 2 Aparición en junio de 2001 Aunque le fueron añadidas bastantes características respecto a la versión 1, seguía siendo muy pequeño (unos 32K) Existen tres implementaciones de NanoXML 2 NanoXML/Lite Sucesor de NanoXML 1 Funcionalidad limitada –No soporta contenidos mezclados –Se ignora el DTD Las clases de este parser se encuentran en el paquete nanoxml NanoXML/Java Es el parser estándar Funcionalidad amplia –Permite crear, modificar y validar documentos+ Las clases de este parser se encuentran en el paquete net.n3.nanoXML NanoXML/SAX Es el adaptador SAX para NanoXML/Java Las clases de este parser se encuentran en el paquete net.n3.nanoXML.sax

51 18/10/2006.51 E.T.S de Ingenieros de Telecomunicación El parser NanoXML Introducción a NanoXML NanoXML 2 Análisis de un documento XML con NanoXML Carga de un documento XML Acceso y análisis de contenido Acceso al nombre de un IXMLElement Acceso a un atributo de un IXMLElement Lectura del contenido de un IXMLElement Acceso a un elemento descendiente de un IXMLElement

52 18/10/2006.52 E.T.S de Ingenieros de Telecomunicación Análisis de un documento XML con NanoXML El análisis de un documento XML mediante el parser NanoXML se puede dividir en dos partes: Una primera parte consistente en cargar el documento XML desde su ubicación en el Object Carousel y analizarlo. Una segunda parte consistente en acceder y analizar los datos del árbol creado en la primera parte

53 18/10/2006.53 E.T.S de Ingenieros de Telecomunicación El parser NanoXML Introducción a NanoXML NanoXML 2 Análisis de un documento XML con NanoXML Carga de un documento XML Acceso y análisis de contenido Acceso al nombre de un IXMLElement Acceso a un atributo de un IXMLElement Lectura del contenido de un IXMLElement Acceso a un elemento descendiente de un IXMLElement

54 18/10/2006.54 E.T.S de Ingenieros de Telecomunicación Carga de un documento XML Pasos a seguir para cargar un documento XML desde el Object Carousel Crear el parser XML IXMLParser procesador = XMLParserFactory.createDefaultXMLParser(); Crear el reader estándar que leerá los datos desde el documento XML y alimentar con él el parser. Normalmente se puede usar un StdXMLReader para alimentar el parser con los datos. IXMLReader lector = StdXMLReader.fileReader("teletexto.xml"); procesador.setReader(lector); Hacer que el parser XML analice los datos leídos desde el documento XML y cree un árbol con estos elementos analizados. IXMLElement xml = (IXMLElement) procesador.parse(); Una vez hecho esto, si se invocara al método getName() de la instancia xml anterior, se obtendría el nombre del primer tag del documento XML. String nombrePrimerTag = xml.getName();

55 18/10/2006.55 E.T.S de Ingenieros de Telecomunicación El parser NanoXML Introducción a NanoXML NanoXML 2 Análisis de un documento XML con NanoXML Carga de un documento XML Acceso y análisis de contenido Acceso al nombre de un IXMLElement Acceso a un atributo de un IXMLElement Lectura del contenido de un IXMLElement Acceso a un elemento descendiente de un IXMLElement

56 18/10/2006.56 E.T.S de Ingenieros de Telecomunicación Acceso y análisis de contenido Esta parte no es tan mecánica, sino que dependerá de lo que el programador necesite La tarea de recorrer el árbol no es difícil El StdXMLBuilder (constructor interno invocado al hacer createDefaultXMLParser()) genera un árbol de objetos IXMLElement. Cada uno de estos objetos: Tiene un nombre Puede tener atributos Puede tener: Contenido IXMLElement (elementos descendientes, hijos) A continuación se explicará la forma de acceder a cada uno de estos contenidos teniendo en cuenta que estas acciones irán incluidas, normalmente, dentro de sentencias for, while, if/else, switch, que harán que la forma de extraer la información de los tags sea más útil para la aplicación. Más información estudio más detallado y en profundidad del paquete net.n3.nanoxml para sacar el máximo partido al parser NanoXML.

57 18/10/2006.57 E.T.S de Ingenieros de Telecomunicación El parser NanoXML Introducción a NanoXML NanoXML 2 Análisis de un documento XML con NanoXML Carga de un documento XML Acceso y análisis de contenido Acceso al nombre de un IXMLElement Acceso a un atributo de un IXMLElement Lectura del contenido de un IXMLElement Acceso a un elemento descendiente de un IXMLElement

58 18/10/2006.58 E.T.S de Ingenieros de Telecomunicación Acceso al nombre de un IXMLElement Para obtener el nombre de un IXMLElement Un IXMLElement no es más que cada uno de los tags que componen el documento XML. hay que invocar al método getName() del propio IXMLElement. IXMLElement elemento; String nombreElemento = elemento.getName();

59 18/10/2006.59 E.T.S de Ingenieros de Telecomunicación El parser NanoXML Introducción a NanoXML NanoXML 2 Análisis de un documento XML con NanoXML Carga de un documento XML Acceso y análisis de contenido Acceso al nombre de un IXMLElement Acceso a un atributo de un IXMLElement Lectura del contenido de un IXMLElement Acceso a un elemento descendiente de un IXMLElement

60 18/10/2006.60 E.T.S de Ingenieros de Telecomunicación Acceso a un atributo de un IXMLElement Los pasos a seguir para acceder al contenido de un atributo de un IXMLElement son los siguientes: Invocar al método enumerateAttributeNames() del IXMLElement para obtener una lista con los posibles atributos que contiene el IXMLElement. Después, invocando al método nextElement() de la lista se va accediendo a los elementos de la lista. IXMLElement elemento; Enumeration lista = elemento.enumerateAttributtesNames() Object nombreAtributo = lista.nextElement(); Invocar al método getAttribute() del IXMLElement para acceder al contenido de un atributo en particular. Es necesario conocer el nombre del atributo. String contenidoAtributo = elemento.getAttribute(nombreAtributo.toString (),null);

61 18/10/2006.61 E.T.S de Ingenieros de Telecomunicación El parser NanoXML Introducción a NanoXML NanoXML 2 Análisis de un documento XML con NanoXML Carga de un documento XML Acceso y análisis de contenido Acceso al nombre de un IXMLElement Acceso a un atributo de un IXMLElement Lectura del contenido de un IXMLElement Acceso a un elemento descendiente de un IXMLElement

62 18/10/2006.62 E.T.S de Ingenieros de Telecomunicación Lectura del contenido de un IXMLElement La lectura del contenido de un IXMLElement es una tarea sencilla, únicamente hay que invocar al método getContent() del IXMLElement. IXMLElement elemento; String contenidoElemento = elemento.getContent();

63 18/10/2006.63 E.T.S de Ingenieros de Telecomunicación El parser NanoXML Introducción a NanoXML NanoXML 2 Análisis de un documento XML con NanoXML Carga de un documento XML Acceso y análisis de contenido Acceso al nombre de un IXMLElement Acceso a un atributo de un IXMLElement Lectura del contenido de un IXMLElement Acceso a un elemento descendiente de un IXMLElement

64 18/10/2006.64 E.T.S de Ingenieros de Telecomunicación Acceso a un elemento descendiente de un IXMLElement Un IXMLElement puede tener elementos descendientes que también serán IXMLElement. Para acceder a ellos, básicamente hay dos formas: Acceso por índice: IXMLElement primerTag = evento. getChildAtIndex(0); String contenidoPrimerTag = primerTag.getContent(); Acceso por nombre: IXMLElement tagResumen = evento.getFirstChildNamed("resumen"); String resumen = tagResumen.getContent();

65 18/10/2006.65 E.T.S de Ingenieros de Telecomunicación Índice Introducción a XML Origen y comparación con HTML Principales usos de XML Estructura de un documento XML Definición del tipo de documento (DTD) Tipos de documentos XML Utilización de XML en el ámbito de MHP Mapeo de XML a Java ¿Qué es un parser? Metodologías de manipulación de documentos XML: SAX DOM El parser NanoXML Bibliografía

66 18/10/2006.66 E.T.S de Ingenieros de Telecomunicación Bibliografía Introducción a XML http://quark.fe.up.pt/cursoxml/curso.pdf http://www.dat.etsit.upm.es/~abarbero/curso/xml/xmltutorial.html http://www.mundotutoriales.com/tutoriales_xml-mdtema177.htm Apuntes de XML NanoXML http://nanoxml.cyberelf.be/ Foros Enterprise Technologies - Java Technology & XML http://forum.java.sun.com/forum.jspa?forumID=34 Consumer and Commerce - Java TV http://forum.java.sun.com/forum.jspa?forumID=36

67 Gracias por su atención


Descargar ppt "MANEJO DE DOCUMENTOS XML EN MHP Leire Urriza Oiz."

Presentaciones similares


Anuncios Google