Se me olvidaba, hay otra posibilidad:

4. Pasar el xml que te devuelven a un array de php (busca xmltoarray) y 
moverte por el array: algo engorroso pero mucho menos que si tienes que 
pasar a string y tirar de expresiones regulares....


----- Original Message ----- 
From: "Juan Rebollo" <[EMAIL PROTECTED]>
To: "Ovillo, la lista de CSS en castellano" <ovillo@lists.ovillo.org>
Sent: Monday, August 06, 2007 12:52 PM
Subject: Re: [Ovillo] Css y XML


"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)."

Repito, para que la gente no se lie. ACESSIBILIDAD WEB no tiene NADA que ver
con php, xml o xslt.

A ver, si tu mediante php recibes un xml y los datos de este xml los quieres
visualizar en el html que se envía al cliente, tienes varias opciones:
1. Pasar el xml a string  y tratarlo como cadena: un engorro bestial.
2. Tratarlo con las funciones de manejo de xml de php (dom) para moverte por
el arbol xml: http://es.php.net/manual/es/ref.dom.php
3. Utilizar xslt. Para ello en php tienes que tener instalado un parser xslt
para php. Yo utilizo sablotron: http://www.gingerall.org/sablotron.html

Saludos.


----- Original Message ----- 
From: "Jorge Hoya" <[EMAIL PROTECTED]>
To: "Ovillo, la lista de CSS en castellano" <Ovillo@lists.ovillo.org>
Sent: Monday, August 06, 2007 12:31 PM
Subject: [Ovillo] Css y XML


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

_______________________________________________
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 

_______________________________________________
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