Re: SVG 1.2 URLRequest interface

At 05:10 PM 9/30/2004 +0000, Ian Hickson wrote:

>On Mon, 27 Sep 2004, Peter Sorotokin wrote:
> >
> > Yes, we indeed modeled URLRequest after XMLHttpRequest, it is designed
> > to be basically just as simple to use with just a little bit of extra
> > power. Everyone who used XMLHttpRequest or IE's MS.XMLHTTP should feel
> > right at home.
>
>Given that XMLHttpRequest has multiple interoperable implementations (at
>least four, so far, on at least half a dozen different platforms), was any
>thought given to just using XMLHttpRequest outright?

That's basically what we did, but given that we had to make changes, we 
decided to change the interface name as well (this tends to avoid confusion).


>It would be unfortunate if implementations that support both SVG and HTML
>had to implement both interfaces.

You'd have to *expose* both interfaces (well, you don't *have to* expose 
XMLHTTP to implement HTML, it is a non-standard extension), but there is no 
need for different *implementation*. Implementation can be 100% reused. The 
interfaces had to be different for reasons listed below - and Mozilla, IE 
and Safari are all a bit different too. Every implementation can expose 
URLRequest interface and its older (non-standard) interface with the same 
underlying implementation - or simply extend existing interface with 
URLRequest methods.

Here is the list of properties and methods on IE XMLHTTP and comments.

Properties

onreadystatechange - IE's proprietary and non-language neutral 
readystate/onreadystate framework, we used standard W3C 
events::EventListener instead
readyState - IE's proprietary readystate/onreadystate framework, replaced 
by requestState
responseBody - absent (we don't have binary data object)
responseStream - absent (we don't have stream object)
responseText - same
responseXML - replaced with parseXML method because it is important to have 
ownerDocument right
status - same.
statusText - same.

Methods

abort - same.
getAllResponseHeaders - absent.
getResponseHeader - modified based on feedback that there might be multiple 
headers with the same name.
open - replaced by init which takes only two parameters (we cannot have 
variable number of parameters)
send - same
setRequestHeader - same

Peter


>--
>Ian Hickson               U+1047E                )\._.,--....,'``.    fL
>http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
>Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Thursday, 30 September 2004 22:25:40 UTC