apuntes+santiggd+7-4-08

Comenzamos instalando Grease Monkey en Firefox y vemos la estructura básica de Grease Monkey. Estos programas difieren de los javascript normales en que no son programas que se ejecutan directamente sino que se instalan en el navegador.
 * Grease Monkey**

Los programas de GreaseMonkey tienen una serie de parámetros asociados que lo caracterizan. El parámetro name es logicamente el nombre, el namespace es un campo importante dado que permite usar el mismo nombre si el espacio de nombres es distinto, pero no dentro del mismo espacio de nombres. Este espacio de nombres cabe destacar que es una URI y no un URL, es decir no tiene que tener una pagina asociada sino que identifica univocamente el recurso. La descripcion es lo que aparecera a la hora de instalar el javascript para ver si lo kieres instalar o no, mientras que la etiqueta include indica las paginas en las que se ejecutara dicho script, que pueden ser mas o menos inclusivas si hacemos uso de *.

Podemos cargar el javascript de ejemplo que tenemos en la pagina en nuestro navegador haciendo click sobre el, de forma que nos solicita si queremos instalarlo mostrandonos el nombre y la descripción. Una vez instalado si recargamos podemos ver como se ha modificado el inicio de los titulos con unos enlaces para movernos entre secciones.

Los GM_log lo que hacen es mostrar mensajes en la consola, por ejemplo la del firebug si lo tenemos activado, lo que nos ayuda a ver que va haciendo el programa.
 * Análisis del programa

El programa lo que hace recorrer el vector de los h2 del documento, buscando los enlaces y concretamente el contenido del parámetro name, los anchors. Despues lo que va a hacer es recorrer de nuevo el array h2, creando un nuevo elemento, en concreto un span, que es un elemento vacío sin ninguna estructura ni nada en su interior. Ahora en función de la posición del título se añade un enlace hacia la sección anterior o siguiente creando elementos y añadiendolos en el documento delante de cada título.

XML significa eXtensible Markup Language, o lenguaje de anotación extensible. Por ejemplo html es un lenguaje que describe la estructura de una pagina web. XML va más alla representando una estructura de datos genérica. Surgió inicialmente como un subconjunto de SGML que era totalmente genérico pero muy complicado, de forma que se buscaba simplificarlo, al mismo tiempo que tratar de que fuera extensible. Finalmente XML es más bien una forma de trabajo, donde el paradigma es orientado a documentos, donde todo se describe por medio de XML.
 * Tema 2. XML**

Lo normal es trabajar en XML por medio de entornos de trabajo, por ejemplo uno de ellos es Cocoon que está basado en java. Hay otros como AxKit que esta escrito en Perl. Podemos ver muchas aplicaciones de xml como por ejemplo los rss de los blogs, o el ejemplo de la base de datos de la discografía de Siniestro Total, que se representa mediante un documento xml y sobre el se realizan las busquedas que luego se muestran en html.

Se puede editar XML en cualquier editor de textos, aunque existen algunos editores específicos además de plugins para los principales entornos de trabajo como NetBeans o Eclipse. Comprobamos como los ficheros de openOffice no son mas que ficheros zip que incluyen toda la información del documento en un monton de archivos XML.
 * Usando XML**

Una vez descrito el documento se suelen usar lo que se denominan los validadores, que comprueban que la estructura del documento sea correcta. En muchos lenguajes se incluyen librerias que hacen esto.