afharo_23-03-2009

=Clase 10= Comenzamos hablando de un script para GreaseMonkey que busca en Mininova los nuevos capítulos de la serie que estás siguiendo. Pasamos entonces a recordar lo que dimos en la clase anterior de la mano de Carlos. Hicimos una frustrante prueba del ejercicio sobre clases de Java con rhino realizado por Vallesquino. Vimos los dos primeros ejercicios del tema 2 realizados por Carlos, Vallesquino y Afharo. Por último pasamos a proseguir con el taller de XML: • Vimos el formato correcto de un archivo XML bien formado y estudiamos el significado de cada etiqueta o atributo y aprendimos a diferenciar qué son elementos y, particularmente, los elementos vacíos. • Los atributos van siempre entrecomillados. • No puede haber etiquetas aisladas dentro del texto. Para introducirlos hay que utilizar caracteres de escape. • Los “&” para separar variables, en XML son “;” • Para introducir caracteres especiales se pueden hacer mediante la etiqueta CDATA. • Las etiquetas pueden ser alfanuméricos (distinguiendo las mayúsculas y minúsculas) y deben empezar con una letra o un “_”. Vimos programas como el xerces o el xmllint para visualizar archivos XML y analizar si hay errores en ellos. Probamos la forma de usarlos. Para ello hicimos el ejercicio 1 del Bloque T2.2. Pasamos al punto de “namespaces”. Esto permite poder usar etiquetas con el mismo nombre definido por autores diferentes de modo que cada etiqueta se pueda referir a cosas distintas. De esta forma se pueden definir distintos espacios de nombres en un mismo documento. Un ejemplo es el de http://atalaya.blogalia.com/rdf.xml Vimos dos formas de describir los documentos XML: XSchema y DTD. Vimos su sintaxis y el programa DTDGenerator para crear los segundos de forma automática. En cuanto al XSchema, vimos un código generado automáticamente y luego otro modificado de modo que queda más compacto. Llegamos a la conclusión de que había que corregir el hecho de que el elemento ‘puerta’ debe aparecer como mínimo una vez en la habitación, es decir, faltaría añadir al código un “minOccurs=’1’” en la definición del elemento ‘puerta’. Una vez tengamos el XSchema o el DTD, podemos probar si el documento está bien formado con el comando “xmllint --valid archivo.xml”, habiendo definido en el interior de “archivo.xml” el archivo de descripción de documentos que debe cumplir. Se acabó la clase.