alexbm8_apuntes_24-04-09

=Resumen del 24 de Abril=

Al comienzo de la clase, el profesor nos comentó algo sobre proyectos fin de [|carrera libres] (ya que él es director de la OSL), para más información, basta con enviarle un e-mail a JJ. Hacer un PFC libre tiene ventajas como por ejemplo que puede servir como base para futuros proyectos, hacer público nuestro trabajo de forma que todo el mundo pueda consultarlo, podemos participar en concursos de software libre (como el google summer of code) y acceder a cursos de forma preferencial.

Pakitochus leyó su resumen de la clase anterior (se destacó que XML no es como HTML, no tenemos por qué usar las etiquetas como contenedores). Después, [|alejandrofh] nos comentó algo sobre [|Cocoon,]un servidor java capaz de procesar XML y sobre las [|XSLT]. También nos [|comentó] cómo instaló Apache sobre Ubuntu 9.04 y vimos un apunte sobre [|vMware].

El campo ttl en XML sirve para indicar que el RSS no se actualizará hasta pasados X minutos, de forma que los lectores RSS no estén siempre consumiendo ancho de banda para consultar nuevas noticias.

Hicimos en clase el ejercicio T2_8. (Nota: para que funcione correctamente el CGI hay que insertar un retorno de carro tras el EOC).

Seguimos con el temario:[|filtros SAX].

A veces los documentos XML son muy extensos. El filtro SAX es como una corriente o stream de eventos que van aconteciendo conforme se va leyendo el documento XML. Estos eventos estarán relacionados con los nodos del DOM (eventos para principio de etiqueta, comentarios, final de etiqueta, ...) Con estos filtros podemos generar eventos que se activen cuando se lea una etiqueta y por ejemplo guardar todo el texto en una variable hasta que se encuentre el fin de etiqueta. Con ellos es mucho más fácil trabajar con documentos complejos que directamente con el DOM, aunque con el DOM, es mucho más rápido.

Por ejemplo si tenemos un fichero de enorme tamaño, con SAX iríamos procesándolo y quedándonos sólo con lo que nos interesa.

Vimos el ejemplo de ruby. El initialize es como el new de Java, para crear objetos. La @ es equivalente al this. Cada vez que se lea una etiqueta se activará la función tag_start que activará el flag "escribe", y se mostrará por pantalla todo lo que se encuentre entre la etiqueta de apertura y la de cierra que se le pase como segundo parámetro al programa (el primer parámetro será el nombre del documento XML).

Vimos un error del ejemplo propuesto para filtros SAX, aunque para corregirlo basta sustituir el código de la función tag_end por el siguiente: code format="ruby" def tag_end(name) if (name == @tag_a_escuchar) @escribe = false end end code

Para terminar la clase, vimos como ejemplo para el T2.10, el ejercicio resuelto del año pasado.