En Python gracias a los diversos parsers y procesadores de archivos y textos podemos utilizar el XML para generar y obtener resultados muy interesantes.
Metas del Proyecto
Para poder saber que necesitamos y buscar los medios para lograrlo, primero debemos establecer algunas metas sobre el proyecto que vamos a realizar en el tutorial, como cualquier proyecto de programación habrán cosas que podremos lograr en iteraciones futuras del desarrollo, sin embargo vamos a concentrarnos en lo básico inicialmente.
Las metas que debemos considerar son:
· El sitio web que vamos a construir debe estar definido en un archivo XML, el cual debe contener la información de la página y sus directorios.
· El programa debe crear las páginas y los directorios que necesite.
· Debe existir facilidad para cambiar los estilos de las páginas y volverlas a generar.
Herramientas a Utilizar
Ya que tenemos las diferentes metas de lo que queremos lograr con el proyecto, ahora debemos establecer las mejores herramientas a utilizar, de forma que nos podamos concentrar en lograr los objetivos sin perder mucho tiempo pensando en cómo hacerlo.
A pesar del gran soporte que tiene Python en el procesamiento de textos y archivos, del soporte de XML nativo que tiene, también debemos considerar una herramienta que extenderá el soporte del XML y es el parser SAX.
Para probar si lo tenemos habilitado basta con correr el siguiente código que vemos en la imagen en nuestra consola Python:
Si al hacer esto no tenemos ninguna excepción o mensaje de error, ya estamos listos, en caso contrario debemos instalar PyXML para ello podemos ir a su web oficial y ahí descargar la versión adecuada para nuestro entorno de desarrollo.
Primera Iteración
Ya que tenemos todo preparado podemos iniciar el desarrollo de nuestra aplicación, debemos definir las bases que debemos tener para empezar a desarrollar nuestra solución, para ello nuestro XML debe describir los siguientes puntos:
- WebSite, es el sitio completo, es el contenedor de toda nuestra información.
- Directorio, es la estructura de carpetas que alojará nuestro Website y sus diferentes páginas.
- Página, es la unidad que agrupa la información.
- Nombre, es el identificador único que deben tener las páginas y los directorios.
- Título, cada página debe tener un título, dicho título no necesariamente debe ser el mismo que el nombre
- Contenido, es la información que muestra nuestra página, podemos utilizar HTML estándar de forma que nos sea más fácil implementarlo y pasarlo a un navegador.
<website> <page name="index" title="Home Page"> <h1>Welcome to My Home Page</h1> <p>Hi, there. My name is Mr. Gumby, and this is my home page. Here are some of my interests:</p> <ul> <li><a href="interests/shouting.html">Shouting</a></li> <li><a href="interests/sleeping.html">Sleeping</a></li> <li><a href="interests/eating.html">Eating</a></li> </ul> </page> <directory name="interests"> <page name="shouting" title="Shouting"> <h1>Mr. Gumby's Shouting Page</h1> <p>...</p> </page> <page name="sleeping" title="Sleeping"> <h1>Mr. Gumby's Sleeping Page</h1> <p>...</p> </page> <page name="eating" title="Eating"> <h1>Mr. Gumby's Eating Page</h1> <p>...</p> </page> </directory> </website>
Con esto tenemos ya la base para empezar a desarrollar, en la segunda parte del tutorial hacemos el desarrollo de lo que hemos venido explicando.