Apparently, with the loacalfile interface and ftp, xmlRequest.status 
returns 0, and this is the normal behavior with all browsers. It was 
originally filed as a Mozilla bug, but it has been resolved as 
invalid. See:

https://bugzilla.mozilla.org/show_bug.cgi?id=331610

and

http://groups.google.com/group/mozilla.dev.ajax/browse_thread/thread/0
ffb0e899cd404ff/c02ece139b6eed9a#c02ece139b6eed9a

It is suggested to use a compound boolean test for 0 and 200 rather 
than removing the test altogether.

Domenico


--- In svg-developers@yahoogroups.com, "Domenico Strazzullo" 
<[EMAIL PROTECTED]> wrote:
>
> André,
> 
> > no, you need the importNode() thing, otherwise FF3 (all kinds: 
> alpha and 
> > beta and definitive) will not append your content. it doesn't 
harm 
> FF2 
> > because FF2 already supports this method. i expect opera to do it 
> too. 
> 
> I take your word for it and I confirm that Opera does it. So I get 
> this:
> 
> addDoc(evt,document.importNode
> (xmlRequest.responseXML.documentElement,true));
> 
> and it works both local and remote (FF 2 and 3, Opera 9.2 and 
Safari) 
> simply with if (xmlRequest.status == 200) disabled. Here the very 
> last visible difference between the two routines is the event 
> passing, and, by Jove, it just comes to my mind!... something I 
read 
> a while back on an Ajax developers list that explained why passing 
> the event was necessary. But that's all I can recall and I didn't 
> take note, I just applied the mod.
> 
> > your loop through the imported XML isn't needed because you don't 
> > necessarily need an <svg>-element, you can also import fragments 
> (they 
> > just need to be consistent, closed elements and so on)
> 
> The loop is necessary for ASV because if the file has comments 
before 
> the <svg> ASV returns "object Comment" for node (retested so to 
avoid 
> red herrings. BTW, perhaps at this point red herrings should be 
> classified as a known, existing and consumable species. Given the 
> great number we catch we could be in business:)) and doesn't 
import. 
> But I agree the condition should be extended to accept any valid 
> fragment, or better, modified to just ignore the comments. I guess 
> I'll keep it for the time being.
> 
> Domenico
> 
> 
> --- In svg-developers@yahoogroups.com, "andre m. winter" 
> <ml.winter@> wrote:
> >
> > hi Domenico
> > 
> > no, you need the importNode() thing, otherwise FF3 (all kinds: 
> alpha and 
> > beta and definitive) will not append your content. it doesn't 
harm 
> FF2 
> > because FF2 already supports this method. i expect opera to do it 
> too. 
> > your loop through the imported XML isn't needed because you don't 
> > necessarily need an <svg>-element, you can also import fragments 
> (they 
> > just need to be consistent, closed elements and so on)
> > 
> > my question was about the xmlRequest.status. in an html 
environment 
> it 
> > shows 200, in local environment only 0. how to handle this in 
mixed 
> > environments?
> > 
> > andré
> > >
> > > I didn't know it could work in local mode, thanks! I tested and 
> for 
> > > me it works both local and remote with Opera AND FF. I'm using 
> this 
> > > slightly different routine:
> > >
> > > ...
> > >  else if (window.XMLHttpRequest) {
> > >   function XMLHttpRequestCallback() {
> > >    if (xmlRequest.readyState == 4) {
> > > //  if (xmlRequest.status == 200) {
> > >     addDoc(evt,xmlRequest.responseXML.documentElement);
> > > //  }
> > >    }
> > >   }
> > >   var xmlRequest = null;
> > >   xmlRequest = new XMLHttpRequest();
> > >   xmlRequest.overrideMimeType("text/xml");
> > >   xmlRequest.open("GET",url,true);
> > >   xmlRequest.onreadystatechange = XMLHttpRequestCallback;
> > >   xmlRequest.send(null);
> > >  }
> > > }
> > > function addDoc(evt,node) {
> > >  var newdoc = node;
> > >  while (newdoc != null && newdoc.nodeName != "svg") {
> > >   newdoc = newdoc.nextSibling;
> > >  }
> > >  if (newdoc == null) {
> > >   alert("Cannot find <svg> element in " + node.parent.nodeName);
> > >   return;
> > >  }
> > >  myDestination.appendChild(newdoc);
> > > }
> > >
> > > I only tested with Opera 9.24 and FF 2.0.0.10
> > >
> > > The last parameter of:
> > > document.getElementById(myDestination).appendChild
> (document.importNode
> > > (myReq.responseXML.documentElement,true));
> > >
> > > is omitted, but I'm not sure that is what makes it happen. 
Apart 
> from 
> > > that difference, one other I can see is "document.importNode"
> > >
> > > Domenico
> > >
> > >
> > >
> > > --- In svg-developers@yahoogroups.com, "andre m. winter" 
> > > <ml.winter@> wrote:
> > >   
> > >> hi,
> > >>
> > >> in firefox (2 & 3) the condition (myReq.status == 200) never 
> gets 
> > >>     
> > > true 
> > >   
> > >> in a local, non-http environment. that's the reason why i 
don't 
> use 
> > >>     
> > > it 
> > >   
> > >> when developping or teaching SVG as most of my students don't 
> run a 
> > >> webserver. so what's this condition about? any way to have a 
> > >>     
> > > generic 
> > >   
> > >> function that properly works both offline and online? below 
the 
> > >>     
> > > function 
> > >   
> > >> as it works in online mode.
> > >>
> > >> thank you for hints,
> > >> andré
> > >>
> > >>
> > >>
> > >> function myAddXML(myURL,myDestination,myEncoding){
> > >>     if (window.XMLHttpRequest) {
> > >>       var myReq = new XMLHttpRequest();
> > >>             if(myReq) {
> > >>                 myReq.overrideMimeType('text/xml');
> > >>                 myReq.open('GET', myURL, true);
> > >>                 myReq.onreadystatechange = function(){
> > >>                     if (myReq.readyState == 4){
> > >>                          if (myReq.status == 200){ // REMOVE 
FOR 
> > >>     
> > > LOCAL WORK
> > >   
> > >>                             
> > >> document.getElementById(myDestination).appendChild
> > >>     
> > > (document.importNode(myReq.responseXML.documentElement,true));
> > >   
> > >>                     
> > >>                     }       
> > >>                 }
> > >>             }       
> > >>             myReq.send(null);
> > >>         }
> > >>         return;
> > >>     } else if (window.getURL){
> > >>         //...
> > >>     }
> > >> }
> > >>
> > >>
> > >> -- 
> > >
> > 
> > 
> > -- 
> > 
___________________________________________________________________
> > andre m. winter,
> >   cartography for internet and multimedia applications
> >   schiessstand 4/1, a6091 goetzens, tyrol, austria
> >   tel.: ++43.5234.32732
> >   http://www.vectoreal.com/          SVG consulting and 
development
> >   http://www.geotrace.net/   geo-localized high quality 
photographs
> >   http://www.carto.at/     print and online touristic map 
solutions
> >
>




-----
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click "edit my 
membership"
---- 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/svg-developers/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/svg-developers/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

Reply via email to