Muchas gracias por el consejo estoy trabajando en eso de momento quite 
las referencias al dtd y a xsl y bueno pues ya no se me hace el bucle 
infinito aunke solo analize la mitad del arbol pero ya nos acercamos ^^ 
muchas gracias por su ayuda ^^ aun no he probado con el objeto XMLDOM ya 
ke no se si es compatible con Mozilla si me pueden decir se los 
agradeceria otra cosa ke se me ocurre al rato pruevo es cargar el 
documento xml con ajax pero usando tu tecnica tambien tengo que probarlo 
seria algo asi: miXML.load(ajaxObject.responseXML;) (me interesa mucho 
ke el archivo sea externo pos cuestiones de funcionalidad xD) pero bueno 
mando mis avances xD
El html (aun no meto los scripts en un archivo script estoy acostumbrado 
a trabajar sobre el mismo documento asi ke todo viene plano ^^) acepto 
toda clase de sujerencias ya ke al estar acostumbrado a programar con el 
metodo del cole he creado un monton de variables globales que 
posiblemente sean inutiles agradeceria sujerencias.

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html">
        <script language="JavaScript">
            var ajaxObject = false;
            var _esMozilla = false;
            var _docXML;
            var _nivel;
            var _hijos;
            var    _nodo;
            var _XMLroot;
            var _root;
            var _texto = "";
            var _debugWin;
            var    _winOpen = false;
            var _debug = true;
            var _llamada = 0;
//##################### Funcion Encargada de inicializar objetos 
########################
            function inicializar(){
                if(window.XMLHttpRequest){// si es Mozilla
                    ajaxObject = new XMLHttpRequest;
                    _esMozilla = true;
                }else if(window.ActiveXObject){//si es Internet Explorer...
                    try    {//Para exploradores Actuales
                        ajaxObject = new ActiveXObject("Msxml2.XMLHTTP");
                        debug("El navegador es IE objeto creado: " + 
ajaxObject);
                    }catch(e){
                        try{//si el explorador es antiguo
                        ajaxObject = new ActiveXObject("Microsoft.XMLHTTP");
                        debug("El navegador es una version antigua de IE 
objeto creado: "+ ajaxObject);
                        }catch(e){
                            //Codigo para error
                            debug("Hubo un error al inicializar el 
objeto por favor revise la version de su explorador");
                        }
                    }
                }
            }
//#################### Funcion Cargar Documento 
########################################
            function cargarDoc(_documento,_XMLroot){
                debug("Incializacion de objeto ajaxObject = " + ajaxObject);
                if(ajaxObject){//Si el objeto se inicializo correctamente...
                    debug("objeto incializado correctamente procediendo 
a abrir archivo");
                    ajaxObject.open('GET',_documento,true);
                    ajaxObject.onreadystatechange = function(){
                        debug("abriendo archivo ReadyState = " + 
ajaxObject.readyState + " status = " + ajaxObject.status);
                        if(ajaxObject.readyState == 4 && 
ajaxObject.status == 200){
                            _docXML = ajaxObject.responseXML;            
                                   
                            debug("<span style='color: 
green;font-weight: bold'>############## incializando objeto XML 
#############</span>");
                            _root = _docXML.documentElement    ;
                            debug("buscando Raiz de documento XML la 
rais es: \"" + _root.nodeName + "\"");               
                            analizarXML(_root);
                        }                   
                    }
                ajaxObject.send(null);
                }
            }
//################### Funcion Analizar XML 
############################################
            function analizarXML(_nodo){
                _llamada++;
                debug("<span style='color: green;font-weight: 
bold'>############### llamada a funcion analizar XML No. "+ _llamada+" 
###########</span><br>");
                debug("nombre del nodo actual: <strong>'"+_nodo.nodeName 
+ "'</strong> tipo de nodo: " + _nodo.nodeType);
                if(_nodo.nodeType == 1 && _nodo.hasChildNodes){
                    var _hijos = _nodo.childNodes;
                    debug("_hijos.length = " + _hijos.length);        
           
                    for(i=0; i < _hijos.length;i++){
                        debug("vuelta del bucle: " + i);
                        debug("<span style='color: green;font-weight: 
bold'>------ llamando funcion AnalizarXML desde bucle-----</span>");    
                   
                        analizarXML(_hijos[i])                       
                    }                   
                }
                debug("<span style='color: green;font-weight: 
bold'>############### terminada llamada a funcion analizar XML No. "+ 
_llamada +" en nodo: "+ _nodo.nodeName +"###########</span><br>");
                _llamada--;               
            }
//################### Funcion Debug 
###################################################
            function debug(_text){
                if(_debug){                   
                    if(_winOpen){                       
                        _debugWin.document.writeln("<br>"+ _text + "\r");
                    }else{
                        _debugWin = window.open("_blank", "DebugWin", 
"height=500,width=500,scrollbars=yes");
                        _debugWin.document.writeln(_text + "<br>");
                        _winOpen = true;
                    }
                }
            }
        </script>
    </head>
    <body onload="inicializar();">
        <a href="#" onclick="cargarDoc('pruevaA.xml');">link</a>
    </body>   
</html>

y aki les pongo el resultado de la ventana debug (nota ke cuando muestro 
el objeto IE no me marca nada Mozilla me marca [object])

El navegador es IE objeto creado:

Incializacion de objeto ajaxObject =
objeto incializado correctamente procediendo a abrir archivo
abriendo archivo ReadyState = 4 status = 200
############## incializando objeto XML #############
buscando Raiz de documento XML la rais es: "a"
############### llamada a funcion analizar XML No. 1 ###########

nombre del nodo actual: *'a'* tipo de nodo: 1
_hijos.length = 2
vuelta del bucle: 0
------ llamando funcion AnalizarXML desde bucle-----
############### llamada a funcion analizar XML No. 2 ###########

nombre del nodo actual: *'a1'* tipo de nodo: 1
_hijos.length = 2
vuelta del bucle: 0
------ llamando funcion AnalizarXML desde bucle-----
############### llamada a funcion analizar XML No. 3 ###########

nombre del nodo actual: *'a1a'* tipo de nodo: 1
_hijos.length = 1
vuelta del bucle: 0
------ llamando funcion AnalizarXML desde bucle-----
############### llamada a funcion analizar XML No. 4 ###########

nombre del nodo actual: *'a1ab'* tipo de nodo: 1
############### terminada llamada a funcion analizar XML No. 4 en nodo: 
a1ab###########

############### terminada llamada a funcion analizar XML No. 3 en nodo: 
a1a###########

############### terminada llamada a funcion analizar XML No. 2 en nodo: 
a1###########

############### terminada llamada a funcion analizar XML No. 1 en nodo: 
a###########

pero bueno esto es un avance muchas gracias ^^ espero ke este mensaje 
nosea muy largo ^^

Saludos!!!

"Ayudar a los demas puede ser una experiencia aparte de reconfortante 
muy didactica ya que te enfrentas a problemas y ecenarios que nunca 
hubieras imaginado..."

--------------------------------------------------------------------------------------------------------------
Juan José Montes de Oca Arbós escribió:
> Hola Final, yo me armé un ejemplo con la info que pasaste, y , siguiendo el
> consejo de David Arango, coloqué el "var" en el for y el script me funcionó
> perfectamente en IE 6.
>
> Te copio los ejemplos que armé para que puedas probarlos (yo saqué la parte
> del AJAX y eliminé las referencias a los archivos DTD y a la hoja de XSLT).
>
> ///
> *************************************************************************
> /// ESTA ES LA RUTINA MODIFICADA CON VAR PARA EL FOR.
> /// ESTA EN UN ARCHIVO QUE SE LLAMA "funcionXML.js"
> ///
> *************************************************************************
> function analizarXML(_nodo){
> //este argumento que le pasamos equivale a la propiedad .documentElement del
> archivo XML previamente cargado
> //si escrivieramos _nodo.nodeName nos devolveria html (ya lo comprobe ^^)
>     if(_nodo.nodeType == 1 && _nodo.hasChildNodes){
>     //si el nodo es de clase elemento y tiene hijos
>         var _hijos = _nodo.childNodes;//creamos una instancia de la
> coleccion de hijos...
>         for(var i=0; i < _hijos.length;i++){//este bucle repite la funcion
> para cada hijo
>             analizarXML(_hijos[i])//llamamos al primer elemento de la
> coleccion tambien funciona con _hijos.item(i)
>         }
>     } else {
>         document.writeln (_nodo.text);
>     }
> }
>
>
> //// ESTA ES LA PAGINA QUE INICIA LA PRUEBA
> <html>
>    <head>
>        <script src="funcionXML.js" type="text/javascript"></script>
>        <script language="javascript" type="text/javascript">
>     function getObjectXML () {
>         //esta rutina crea un objeto XML.
>         var unXMLDoc;
>         unXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
>         unXMLDoc.async = false;
>         return unXMLDoc;
>     }
>     function llamarXML () {
>         var miXML = getObjectXML ();
>         var sXML = '';
>         sXML += '<?xml version="1.0" encoding="UTF-8"?>';
>         sXML += '<html>';
>         sXML += '   <seccion>';
>         sXML += '       <titulo>Titulo de ejemplo</titulo>';
>         sXML += '       <subtitulo>subtitulo ejemplo</subtitulo>';
>         sXML += '       <contenido>aki va el contenido y su imagen ke es
> puedes ver la url del y mas texto</contenido>';
>         sXML += '   </seccion>';
>         sXML += '   <seccion>';
>         sXML += '       <titulo>otro titulo de seccion</titulo>';
>         sXML += '       <subtitulo>otro subtitulo</subtitulo>';
>         sXML += '       <contenido>link</contenido>';
>         sXML += '   </seccion>';
>         sXML += '</html>';
>         miXML.loadXML (sXML);
>         var _root = miXML.documentElement;
>         analizarXML(_root);
>     }
>     </script>
>    </head>
>    <body>
>       <img onclick="llamarXML ();" />
>    </body>
> </html>
>
> Espero te sirva, saludos!!!
>
> El día 11/07/07, Final <[EMAIL PROTECTED]> escribió:
>   
>> Lo mando a llamar por medio de la siguiente funcion la cual es llamada a
>> su
>> ves desde un vinculo(esto solo para las pruevas)
>> function cargarDoc(_documento,_XMLroot){
>>
>>         if(ajaxObject){//Si el objeto se inicializo correctamente...
>>
>>             ajaxObject.open('GET',_documento,true);
>>
>>             ajaxObject.onreadystatechange = function(){
>>
>>                     if(ajaxObject.readyState == 4 && ajaxObject.status ==
>> 200){
>>
>>                     _docXML = ajaxObject.responseXML;
>>
>>                     _root = _docXML.documentElement ;
>>
>>                     analizarXML(_root);
>>
>>                 }
>>
>>             }
>>
>>             ajaxObject.send(null);
>>
>>         }
>>
>> }
>>
>>
>> ----- Original Message -----
>> From: "Juan José Montes de Oca Arbós" <[EMAIL PROTECTED]
>>     
>> To: "ListaJavaScript" <javaescript@scriptia.net>
>> Sent: Wednesday, July 11, 2007 7:53 AM
>> Subject: Re: [javaEScript] Recorrer Arbol XML
>>
>>
>> Hola Final,
>>    ¿cómo estás haciendo la primer llamada a "analizarXML"? ¿Que objeto le
>> estás pasando?
>>
>> Saludos!!!
>>
>> El día 10/07/07, Final <[EMAIL PROTECTED] > escribió:
>>     
>>> Hola, bueno soy nuevo aqui y pues para empezar quiero presentarme ^^ mi
>>> nombre es Rene Emmanuel Zamorano Flores o Final 2.0 xD pues bien como
>>> diseñador web quise empezar a implementar nuevas funcionalidades a mis
>>> paginas web, pues bien actualmente me encuentro haciendo un pequeño
>>>       
>> script
>>     
>>> que recorra todos los elementos (nodos) del siguiente documento XML..
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <!DOCTYPE html SYSTEM
>>>
>>>       
>> "file:/C:/Archivos%20de%20programa/VertrigoServ/www/pruevas_ajax/XML/sample.dtd">
>>     
>>> <?xml-stylesheet type="text/xsl" href="sample.xsl"?>
>>> <html>
>>>     <seccion>
>>>         <titulo>Titulo de ejemplo</titulo>
>>>         <subtitulo>subtitulo ejemplo</subtitulo>
>>>         <contenido>aki va el contenido y su imagen ke es puedes ver la
>>>       
>> url
>>     
>>> del y mas texto</contenido>
>>>     </seccion>
>>>     <seccion>
>>>         <titulo>otro titulo de seccion</titulo>
>>>         <subtitulo>otro subtitulo</subtitulo>
>>>         <contenido>link</contenido>
>>>     </seccion>
>>> </html>
>>>
>>> Lo que pretendo hacer es una pequeña funcion recursiva que recorra el
>>> arbol que es el siguiente:
>>>
>>>                                 html
>>>             ______________________|______________________
>>>            |                                             |
>>>         seccion                                       seccion
>>>     _______|_________                        ____________|____________
>>>    |       |         |                      |            |            |
>>> titulo subtitulo  contenido               titulo     subtitulo
>>> contenido
>>>
>>> La idea aqui es usar una funcion recursiva que analize el nodo actual y
>>>       
>> si
>>     
>>> este tiene hijos se vuelva a llamar para analizar los hijos cuando acabe
>>> con
>>> ellos deveria regresar esta es la funcion...
>>>
>>> ########## Funcion Analizar XML
>>> ############################################
>>> function analizarXML(_nodo){//este argumento que le pasamos equivale a
>>>       
>> la
>>     
>>> propiedad .documentElement del archivo XML previamente cargado
>>>                              //si escrivieramos _nodo.nodeName nos
>>> devolveria html (ya lo comprobe ^^)
>>>     if(_nodo.nodeType == 1 && _nodo.hasChildNodes){//si el nodo es de
>>> clase elemento y tiene hijos
>>>         var _hijos = _nodo.childNodes;//creamos una instancia de la
>>> coleccion de hijos...
>>>         for(i=0; i < _hijos.length;i++){//este bucle repite la funcion
>>> para cada hijo
>>>             analizarXML(_hijos[i])//llamamos al primer elemento de la
>>> coleccion tambien funciona con _hijos.item(i)
>>>          }
>>>     }
>>> }
>>>
>>> En teoria esta funcion deveria de funcionar revisar si el nodo es tipo
>>> ELEMENT_NODE y si tiene hijos... despues con el bucle se llamaria a la
>>> funcion pero con un nuevo nodo(es decir el primer hijo para la primera
>>> vuelta el segundo hijo para la segunda etc etc) asi adentrandose en el
>>> arbol
>>> y terminando la funcion cuando no encuentre mas hijos ... pero aki esta
>>>       
>> lo
>>     
>>> curioso que no lo hace en su lugar se llama asi misma chorrocientas mil
>>> veces... y me traba el explorador... (asi que cuidado si quieren
>>> probarla...) la verdad es que ya estoy desesperado no estoy muy
>>> familiarizado con JS y la verdad no se el porque de este error, algun
>>> fallo
>>> en la sintaxis deje pasar algo no se... espero me puedan ayudar...por
>>> cierto
>>> de momento todo esto solo funciona en IE aun no he echo la version para
>>>       
>> el
>>     
>>> Zorrito hasta que aya solucionado esto ... ya que como sabran mozilla
>>> interpreta de un modo un poco diferente XML (toma los espacios como
>>>       
>> hijos
>>     
>>> y
>>> hay que quitar estos... para que no aya problema he oido de un metodo
>>> normalize pero no se si sea para eso o que tan compatible sea...)
>>>
>>> Bueno pues es todo... disculpen si me extendi mucho con la explicacion
>>> pero queria dejar claro mi punto (espero no acavar confundiendo mas...)
>>>       
>> y
>>     
>>> pues de antemano les doy a todos las gracias... y pues espero que mi
>>> estancia en esta lista sea buena tanto ayudando como resiviendo ayuda
>>>       
>> que
>>     
>>> si
>>> no nos ayudamos entre nosotrso quien lo hara? xD
>>>
>>> Saludos!!!
>>> ATT Final 2.0
>>>
>>> ------------ próxima parte ------------
>>> Se ha borrado un adjunto en formato HTML...
>>> URL:
>>>
>>>       
>> http://lists.scriptia.net/pipermail/javaescript-scriptia.net/attachments/20070709/74e64172/attachment.html
>>     
>>> _______________________________________________
>>> javaEScript mailing list
>>> javaEScript@scriptia.net
>>> http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net
>>>
>>>       
>>
>> --
>> Juan José Montes de Oca Arbós.
>>
>> [EMAIL PROTECTED]
>> [EMAIL PROTECTED]
>> http://world5.monstersgame.es/?ac=vid&vid=58044309
>> http://www.montesoft.com.ar
>> http://www.es-facil.com/ganar/alta?Id=64395956
>> ------------ próxima parte ------------
>> Se ha borrado un adjunto en formato HTML...
>> URL:
>>
>> http://lists.scriptia.net/pipermail/javaescript-scriptia.net/attachments/20070711/b1562083/attachment.htm
>> _______________________________________________
>> javaEScript mailing list
>> javaEScript@scriptia.net
>> http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net
>>
>> _______________________________________________
>> javaEScript mailing list
>> javaEScript@scriptia.net
>> http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net
>>
>>     
>
>
>
>   

_______________________________________________
javaEScript mailing list
javaEScript@scriptia.net
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net

Responder a