ECMAScript Binding XML?

To help myself (and others) better understand the properties and 
methods available in objects in SVG1.1, I wrote:
http://phrogz.dnsalias.net/ObjJob/
(official url should be http://phrogz.net/ObjJob/ but that's down atm)

I got the data into the DB by a couple hours of regexp massaging of:
http://www.w3.org/TR/SVG11/ecmascript-binding.html
into a format I could parse and create the SQL commands for.

This source data almost certainly came from a script that already knew 
the internal hierarchy of the SVG ECMA binding. Just like:
http://www.w3.org/TR/DOM-Level-2-Core/ecma-script-binding.html

Q1) Since this internal information almost certainly exists (possibly 
even directly tied with nice descriptions to every 
object/property/method/argument) is ObjJob pointless? [I think the 
answer is no, since I can't find any similar web interface to the data 
on W3C's site.]

Q2) Assuming that this is still a useful tool (when done)--does anyone 
on this list have access to the real db from which this information 
came? Rather than a (nicely structured) HTML file for it, would it be 
possible to get an XML representation of the above URLs? (And since SVG 
references and inherits from elements like dom::Element and 
events::EventTarget outside the scope, I'd love to be able to get any 
ECMAScript binding for a W3C TR in a machine-readable format.)



Following is the email I sent to the svg-dev mailing list 
'pre-announcing' the tool. Feedback from members here would also be 
welcome.

Begin forwarded message:

> From: Gavin Kistner <gavin@refinery.com>
> Date: Mon Sep 22, 2003  12:48:19  PM America/Denver
> To: svg-developers@yahoogroups.com
> Subject: [svg-developers] DOM web documentation
> Reply-To: svg-developers@yahoogroups.com
>
> Summary:
> ========================================
> Go play with the SVG DOM docs at http://phrogz.dnsalias.net/ObjJob/ and
> please give me feedback.
> Note that it's not supposed to be 'done' yet, so be kind :)
>
> Details:
> ========================================
> Over the weekend I was working on my SVG web app, and wanted to find a
> really clean way to transform mouse coordinates into user space for an
> object.[1]
>
> In researching the methods and properties exposed by various objects, I
> got really frustrated by the usability of
> http://www.w3.org/TR/SVG11/ecmascript-binding.html
>
> It's not that it's inaccurate, but it appears to be a straight dump of
> information, not geared towards helping someone understand the object
> hierarchy. Worse yet, due to the multiple inheritance, and the fact
> that child objects only list the properties which apply to them
> individually (instead of the inherited accumulation) it's really hard
> to figure out what can be done for any given object.
>
> I initially tried to create a visual representation of the hierarchy,
> but gave up after about an hour and the realization that there are many
> objects which inherit from many others. It takes "n-to-n mapping" to a
> whole new level, and the visual representation wasn't going to help
> anyhow.[2]
>
> So, then I decided that (as I desired for the Photoshop JS DOM) it was
> time to write a web-app to hold everything. Something like MSDN's good
> DHTML reference[3], but with the SVG DOM in it. And supporting object
> inheritance, so that any object will show the properties and methods
> which it has accumulated from its ancestors.
>
> The result is ObjJob, a web app with the above features, whose DB is
> under MY control :) A couple hours' of massaging the data from the
> official spec and I know have the SVG1.1 specs in there.
>
> Please test it out and give me feedback -- if it's useful to you as
> it...if it could be useful if only it did _xxx_, or if you would never
> use it.
>
> In addition to the ToDo items listed on the homepage, I still need to
> bring the properties and methods from the objects outside the SVG
> namespace (like dom::Element and events::EventTarget) into the tool so
> that all those will be properly inherited.
>
>
>
>
> Footnotes
> ========================================
> [1] My idea is that if I can get the current transformation matrix for
> an object, it should (either directly or with a little manipulation) be
> able to be applied to the mouse clientX and clientY and magically
> figure out where I am on the object. I haven't seen any of the SVG
> experts do this, however. Why wouldn't this be feasible?
>
> [2] A bunch of objects (e.g. SVGGElement or SVGPolylineElement) all
> inherit directly from SVGElement, SVGExternalResourcesRequired,
> SVGLangSpace, SVGLocatable, SVGStylable, SVGTests, and
> SVGTransformable. I suggest that creating a single non-instantiable
> parent object for these children, which inherited from the above would
> have made the hierarchy far easier to visually portray, understand, and
> hence convey to the end users who need to use such specs.
>
> [3]
> http://msdn.microsoft.com/workshop/author/dhtml/reference/
> dhtml_reference_entry.asp

--
Gavin Kistner @ Refinery, Inc.
gavin@refinery.com
work: +1.303.444.1777
cell: +1.303.641.1521

Received on Monday, 22 September 2003 17:19:45 UTC