► 13. Applets, JavaScript y XML
► 13.5 XML y GGB
Objetivos
Las construcciones de GeoGebra se guardan como archivos de extensión GGB (o GGT, si se trata de una herramienta personal). Un archivo GGB no es más que un archivo comprimido (ZIP) que contiene:
- El archivo de texto geogebra.xml con todos los datos de los objetos y configuración.
- Si además la construcción contiene alguna herramienta personal, también habrá un archivo llamado geogebra_macro.xml.
- El archivo de texto geogebra_javascript.js con los guiones JavaScript que pudiera contener de la construcción.
Si no hay ninguna, solo contiene la instrucción vacía: function ggbOnInit() {}
- El archivo de imagen geogebra_thumbnail.png con una miniatura de la Vista Gráfica.
El ancho de la miniatura es de 200 px. La altura será proporcional a la de la vista gráfica.
- Todas las imágenes que se hayan insertado con la herramienta Imagen.
Mostraremos someramente en qué consiste el lenguaje XML.
El lenguaje XML
Al igual que el HTML, el XML es un lenguaje de etiquetas < ... >. La diferencia reside en que XML permite la creación de nuevas etiquetas, según las necesidades del programador. De esta forma, los desarrolladores de GeoGebra pueden en cualquier momento añadir más etiquetas o propiedades a medida que requieran de ellas, así como modificar las ya existentes.
El archivo geogebra.xml
La estructura general de las etiquetas de GeoGebra (en la versión 3.2) es:
<?xml version="1.0" encoding="utf-8" ?>
<geogebra format="3.2" >
<gui> ... </gui>
<euclidianView> ... </euclidianView>
<kernel> ... </kernel>
<construction> ... </construction>
</geogebra>
Recuperación de una herramienta personal
Supongamos que hemos creado una herramienta personal pero no hemos guardado el archivo GGB correspondiente (solo el GGT). O bien, que hemos encontrado una construcción que usa herramientas personales y queremos conocer el proceso seguido para su creación.
Hasta la llegada de la versión 4 de GeoGebra, para recuperar esa construcción era necesario recurrir al código XML, copiando la parte del código correspondiente a la construcción personal en una construcción vacía.
Desde GeoGebra 4, la forma más sencilla de recuperar una herramienta personal (archivo GGT) es a través del cuadro de diálogo Gestión de Herramientas.
Comentarios
El XML es un lenguaje muy superior al HTML, un lenguaje que permite fácilmente compartir información entre distintas aplicaciones y servidores. Uno y otro son lenguajes derivados de uno más poderoso, el SGML, pero este último era demasiado complejo para resultar sencilla su implantación y divulgación, por lo que el XML parece destinado a convertirse en el estándar de intercambio de información.
Por ejemplo, el proyecto europeo INTERGEO para la divulgación de la Geometría Dinámica, con un presupuesto de 1.427.849 €, ha tenido como objetivo la creación de una base de datos con recursos de Geometría Dinámica en diferentes soportes (naturalmente, GeoGebra es uno de ellos, pero hay otros como Cabri, Cinderella...) que puedan ser compartidos, es decir, traducidos a un formato común. Esto será posible a estándares como OpenMath, MathML, TeX y OWL, pero sobre todo gracias al lenguaje XML.
Investigación:
- Buscar información sobre ese proyecto europeo en Internet.