hola que tal!.... no probaron con XPATH
En lo personal considero que las funciones recursivas para trabajar con XML son demaciado ineficientes.


bajen el "xpath" class PARA FLASH  claro!
y prueben que les parece.

saludos



----- Original Message ----- From: "Joseba Alonso" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, December 15, 2004 6:23 AM
Subject: RE: [ASNativos] problema de recursividad en actionscript



Precisamente los bueno de las funciones recursivas es que son independientes de la profundidad. Muchas veces la información no es homogénea en ese sentido. Nodos que pueden tener hijos con mucha profundidad y otros no.

Yo lo que suelo hacer es generar un modelo de datos local a partir de un XML
y convirtiéndolo a un patrón composite a medida. Para parsearlo utilizo una
función recursiva y así no tengo que preocuparme por futuros cambios en la
estructura del documento mientras la semántica sea la misma.

El objeto XML es bastante rápido desde Flash MX donde ya se hacía
nativamente, así que no he tenido problemas de velocidad, de hecho
normalmente es muy rápido, incluso con 5 y 6 niveles de profundidad. De
todas maneras, gracias por el apunte. Si alguna vez tengo problemas con la
velocidad probaré a no usar recursividad. Seguro que es más rápido (menos
llamadas a funciones, menos búsquedas en el stack interno). Pero de mientras
las funciones recursivas me parecen más sencillas de programar, menos liosas
y más fáciles de cambiar.

Por cierto, usar AS1 o AS2 no tiene ninguna repercusión en la velocidad, al
final el bytecode producido es prácticamente idéntico.

Un saludo,

Joseba Alonso
www.5dms.com
www.sidedev.net

-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre
de Hari Seldon
Enviado el: martes, 14 de diciembre de 2004 19:52
Para: [EMAIL PROTECTED]
Asunto: RE: [ASNativos] problema de recursividad en actionscript

¿Para parsear XML?

¿De cuántos nodos de profundidad?

Yo en árboles de más de 3 nodos de profundidad, obtenía mejores
resultados leyéndolos secuencialmente, que utilizando funciones recursivas.
Eso si, con AS 1.0.

(Y te aseguro que hice un testeo importante, los árboles q teníamos
pesaban entre 50 y 100 kb y la velocidad de parseo y que no se quedase
"torrado" el flash player eran bastante vitales)

Saludos.

-----Mensaje original-----
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] En nombre de Joseba Alonso
Enviado el: martes, 14 de diciembre de 2004 11:19
Para: [EMAIL PROTECTED]
Asunto: RE: [ASNativos] problema de recursividad en actionscript

A ver si me equivoco...pero creo que no declaras la variable
en el for. Si
no es por eso, será por otra razón pero la variable se esta haciendo
persistente en el objeto de activación de la función.

Deberías tener algo así:

for(var i:Number=0;i<=4;i++)

sino es así envía una versión reducida de la función
recursiva a ver que
pasa. Yo las uso mucho para parsear XML y nunca he tenido ese
problema.

Un saludo,

Joseba Alonso
www.5dms.com
www.sidedev.net


-----Mensaje original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de David Pariente Enviado el: martes, 14 de diciembre de 2004 10:56 Para: ACTION SCRIPT Asunto: [ASNativos] problema de recursividad en actionscript

Hola a [EMAIL PROTECTED]

  Bien...estoy haciendo un foro en flash, para lo que
estoy usando recursividad.

  Dentro de una funcion, hago un bucle for, i dentro
de este, la funcion de llama a si misma.

  Pues...cuando la recursividad se efectua hacia
adentro...es decir...la funcion se llama asi misma, i
se vuelve a hacer todo el bucle for de nuevo, no hay
ningun problema.

  El problema biene cuando la recursividad es hacia
afuera...es decir...salgo de la funcion...i vuelvo a
la funcion madre. al volver a la funcion madre, EL
INDICE DEL BUCLE FOR SE HA ACTUALIZADO!! :O

Es decir...por ejemplo...tengo un for i un indice que
ejecuta el for desde i=0 a i=4...en i=2 la funcion se
ejecuta a si misma...i hace el bucle for de i=0 a
i=4...ningun problema, cuando acaba, vuelve a la
funcion madre ...i DEBERIA CONTINUAR EN EL i=3...pero
en lugar de eso...simplemente deja de ejecutarse i
sale del bucle for.

Da la impresion de q al volver a la funcion madre, i
vale 4, en vez de valer 3 que es lo q deberia
pasar...:O

En otros lenguages no tenia problemas, ya que i, aun
teniendo el mismo nombre, se guarda en casillas de
memoria diferentes. pero en flash da la impresion que
i se machaca a si mismo :O

bien...seguramente alguno de vosotros ha utilizado
recursividad en actionscript i se ha encontrado antes
con este problema. Estoy seguro que debe de haber
alguna forma de hacerlo, que no sea muy chapucera :)

Muchas gracias a [EMAIL PROTECTED], a ver si a alguien se le
ocurre algo :)



______________________________________________
Renovamos el Correo Yahoo!: ¡250 MB GRATIS!
Nuevos servicios, más seguridad
http://correo.yahoo.es
----------------------------------
Lista ASNativos:[EMAIL PROTECTED]
http://www.5dms.com/listas
----------------------------------


---------------------------------- Lista ASNativos:[EMAIL PROTECTED] http://www.5dms.com/listas ----------------------------------



----------------------------------
Lista ASNativos:[EMAIL PROTECTED]
http://www.5dms.com/listas
----------------------------------


----------------------------------
Lista ASNativos:[EMAIL PROTECTED]
http://www.5dms.com/listas
----------------------------------


----------------------------------
Lista ASNativos:[EMAIL PROTECTED]
http://www.5dms.com/listas
----------------------------------

Responder a