Hola a todos,

en lo que se plantea si usar XML o PHP vayamos por partes. Imagino que
el actual estado de tu proyectos, por lo que dices en:

[cita]
Hasta ahora se ponian las variables de php entre el html, pero por lo
que se ve es mas efectivo con xml.
[/cita]

es un PHP integrado en documentos HTML. El hecho de que la información
de la página sea actualizada no implica que tu proyecto deba cambiar
en nada, puedes seguir usando PHP para extraer lo datos de tu base de
datos e incluirlos en tus documentos web. Al respecto, te recomiendo
que separes -en lo posible- la parte de extracción de datos de la de
muestra de los mismos (futuras modificaciones de la web te serán menos
costosas).

Pero volviendo al tema: si te obligan a usar XMl y deseas mantener el
nivel doble A de accesibilidad tu única salida es el uso de XSLT (que,
por llamarlo de algún modo, son las hojas de estilo para los
documentos XML).

Otra solución, no accesible, es el uso de AJAX para recuperar la
información guardada en documentos XML. Imagina que deseas crear un
menu desde un XML llamado 'secciones.xml', que contiene información de
los elementos del menú organizada en bloques como el siguiente:

        <seccion>
                <cod>clave</cod>
                <nombre>Opcion de menu</nombre>
                <url>opcion_uno/index.htm</url>
                <texto>Descripcion de la opcion de menu</texto>
        </seccion>


La función JavaScript que te permitiría recupera y pintar dicho menú
podría ser la siguiente (Aviso: este código necesita de la librería
prototype. Otra cosa, el código es perfectamente mejorable.)

    function obtenerXmlMenu()
    {
        var url = 'secciones.xml';
        var myAjax = new Ajax.Request( url, { method: 'get',
onComplete: renderResultsXMLMenu });
    }

    function renderResultsXMLMenu(responseXMLMenu)
    {
        var xml  = responseXMLMenu.responseXML.documentElement; //
recogemos la referencia al documento leido
        var miDiv = document.getElementById('menuHome'); // Accedemos
al DIV donde crearemos el menu
        miDiv.innerHTML = ''; // Vaciamos el DIV
        var EstructuraHTML = '<ul>';
        for (i = 0; i < xml.getElementsByTagName('seccion').length; i++)
        {
            var item = xml.getElementsByTagName('seccion')[i]; // Accedemos
al objeto XML seccion
            var cod = item.getElementsByTagName('cod')[0].firstChild.data;
            var urlDir = item.getElementsByTagName('url')[0].firstChild.data;
            var nombre = item.getElementsByTagName('nombre')[0].firstChild.data;
            var texto=
limpiaStr(item.getElementsByTagName('texto')[0].firstChild.data);
            EstructuraHTML += '<li><a href="'+urlDir+'">'+nombre+'</a><br
/>'+texto+'</li>\n';
            notfound = false;
        }
        miDiv.innerHTML = EstructuraHTML+'</ul>';
    }

Es decir, con la simple inclusión de:

<script type="text/javascript">
obtenerXmlMenu();
</script>

en tu página tendrías creado el menu. Pero recuerda, creo que en tu
caso la solución más optima es la del uso de XSLT.
_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://lists.ovillo.org/mailman/listinfo/ovillo

Responder a