W3C home > Mailing lists > Public > www-svg@w3.org > March 2004

Comments on new Draft

From: Jan-Klaas Kollhof <keyjaque@yahoo.com>
Date: Fri, 19 Mar 2004 01:40:28 -0800 (PST)
Message-ID: <20040319094028.23079.qmail@web60110.mail.yahoo.com>
To: www-svg@w3.org

Hello,

5.2.2

>In the author wishes to change the default tab order,
they must catch
> the input event related to the navigation (such as
the tab keypress)
> and then cancel the event.

What if it's not the TAB key that is used for tabbing
in the desktop
environment. Wouldn't the keyevent give me the tab
key(identifyer:
"U+0009") when TAB is pressed or would it give me that
identifier too
when the tabbing key(maybe not the TAB-key, depending
on setup) is
pressed ?



17.6 SVGTimer Interface

I still think a timer should be an EventTarget and
have
a addEventListener to add a listener which handles
timer events.
The SVGRunnable, addHandler, removeHandler should be
removed.

This is basically just a renaming thing but I think it
fits better
with the rest of the interfaces.(see the networking)


17.7.1 URLRequest interface

Why have postURL and getURL in the specs when there is
a URLRequest.
I find that a bit redundent. Also the URLRequest
offers more then
getURL and postURL.

What events will we get. Any PartialDataArived,
ConnectionClosed,
Error, ... ?

There is no word about relative URLs.
If my document is located at
http://some.domain/something/mysvg.svg
will a request to the relative url: ./someresouce.py
do what I expect,
that is to inherit from the documents base.
What if the document was loaded over https will my
request use https
too then.
This is the behavior of XMLHTTPRequest in IE and
Mozilla. They inherit
properties from the connection the document was loaded
from.


17.7.2 Raw Socket Connections

What about a ConnectionClosed event?
Why not have a Connected event or is connect blocking
and throws an
exception when something goes wrong?
What about Error events or ConnectionClosedByPeer?

What about a recv function?
DOMString recv(length, [timeout])

I know there is a data event, I am just trying to do
some sync stuff
here. :)



17.9.2 Interface FileDialog
If I can read files and send them to a server, why not
add the ability
to save them locally?
Tell the file dialog to save a file:
fileDialog.save(fileData, defaultFileName)

This allows the user to decide if he/she wants to
actually do this or
not. So no security problems there.


17.10 Filtering DOM Events

Hmm, I don't like the interface very much.
Can there be a more extensible filtering:
maybe addMatchCondition(condition)

condition is an object which consists of:
propName the name of the event's property
propValue the value of that property

example:
f = createEventFilter();
c1.propName="target"
c1.propValue=myRect
c2.propName="attrLocalName"
c2.propValue="width"
f.addMatchCondition(c1)
f.addMatchCondition(c1)

This would allow greater flexibility in defining
filters.
In my case I would say the event must match all
conditions.
They are ANDed.
To take it one step further one could include AND OR
condition objects.

example:

f = createEventFilter();
ac = new ANDCond()
ac.add(new Cond("target", myRect))
oc = new ORCond()
oc.add("attrLocalName", "width")
oc.add("attrLocalName", "height")
ac.add(oc)
f.addMatchCondition(ac)

This would filter all events where
target==myrect AND (attrLocalName=="width" OR
attrLocalName=="height")

I guess there would be other ways to define the
interfaces.

f.addMatch(new ANDCond([new Cond("...", ..), new
ORCond([new
Cond(...), ...])])

or simpler but more readable(well, maybe not really):

f.addMatchCond([["target",
myRect],"AND",[["attrLocalName","width"],
"OR",["attrLocalName","height"]]])

Maybe one could even introduce a filter syntax.

f.addObject('r1', myRect)
f.setFilter("target=r1 AND (attrLocalName='width' OR
attrLocalName='height')")

now that be fun.


Nice to see another draft.



Jan

__________________________________
Do you Yahoo!?
Yahoo! Mail - More reliable, more storage, less spam
http://mail.yahoo.com
Received on Friday, 19 March 2004 04:41:01 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 5 November 2012 23:52:55 GMT