Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Manejo de Documentos XML en MHP (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com

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

Monografias.com

Definición del tipo de documento (DTD) (2/6)Referencia en forma de URL
Ejemplo:
< !DOCTYPE servicio SYSTEM "http://www.dat.etsit.upm.es/~abarbero/DTD/servicio.dtd">
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

Monografias.com

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

Monografias.com

Definición del tipo de documento (DTD) (4/6)DTD dentro del propio XML (1/3)
Ejemplo:
< ?xml version="1.0"?>
< !DOCTYPE servicio [
< !ELEMENT evento (imagenTitulo?,titulo?,horaInicio?,horaFin?,resumen?,video,audio?)>
< !ATTLIST evento id CDATA #REQUIRED>
< !ELEMENT imagenTitulo (#PCDATA)>
< !ELEMENT titulo (#PCDATA)>
< !ELEMENT horaInicio (#PCDATA)>
< !ELEMENT horaFin (#PCDATA)>
< !ELEMENT resumen (#PCDATA)>
< !ELEMENT video (rectanguloOrigen?,rectanguloDestino?,localizadorDestino?)>
< !ELEMENT rectanguloOrigen (x?,y?,ancho?,alto?)>
< !ELEMENT x (#PCDATA)>
< !ELEMENT y (#PCDATA)>
< !ELEMENT ancho (#PCDATA)>
< !ELEMENT alto (#PCDATA)>
< !ELEMENT rectanguloDestino (x?,y?,ancho?,alto?)>
< !ELEMENT x (#PCDATA)>
< !ELEMENT y (#PCDATA)>
< !ELEMENT ancho (#PCDATA)>
< !ELEMENT alto (#PCDATA)>
< !ELEMENT localizadorDestino (#PCDATA)>
< !ELEMENT audio (localizadorDestino?)>
< !ATTLIST audio dvb CDATA #REQUIRED>
< !ELEMENT localizadorDestino (#PCDATA)>
]>
(Gp:) Definir elemento

(Gp:) Nombre elemento

(Gp:) Tipo de datos

(Gp:) Elementos descendientes

(Gp:) Opcional pero singular

(Gp:) Definir
atributo

(Gp:) Nombre del elemento
del que se declara
el atributo

(Gp:) Nombre atributo

(Gp:) Posibles valores del
atributo o CDATA

(Gp:) obligatorio

Monografias.com

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)

Monografias.com

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:
< servicio>
< evento id = '1'>
< titulo>Novela: Felisinda (Capítulo 550). Capítulo repetido por fallos en el sistema< /titulo>

< horaInicio>Hora inicio: 15:30h< /horaInicio>

< horaFin>Hora fin: 16:30h< /horaFin>

< resumen>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…< /resumen>
< /evento>
< /servicio>

Monografias.com

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

Monografias.com

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

Monografias.com

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.

Monografias.com

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

Monografias.com

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

Monografias.com

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

Monografias.com

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:

Monografias.com

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)

Monografias.com

¿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

Monografias.com

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 API’s para que los desarrolladores cuenten con las clases necesarias para programar con XML

Monografias.com

Metodologías de manipulación de documentos XML (2/2)
API’s 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

Monografias.com

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

Monografias.com

Metodologías de manipulación de documentos XML (2/2)
API’s 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

Monografias.com

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.

Monografias.com

Metodologías de manipulación de documentos XML (2/2)
API’s 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

Monografias.com

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

Monografias.com

Metodologías de manipulación de documentos XML (2/2)
API’s 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

Monografias.com

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.

Monografias.com

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

Monografias.com

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

Monografias.com

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

Monografias.com

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter