W3C home > Mailing lists > Public > www-svg@w3.org > December 2005

SVGT 1.2: uDOM vs DOM

From: Maciej Stachowiak <mjs@apple.com>
Date: Mon, 26 Dec 2005 22:21:19 -0700
Message-Id: <87D02926-9E13-4A9C-9AA1-8673DB9EB916@apple.com>
To: www-svg@w3c.org

The spec seems pretty clear on what implementations that don't have a  
full DOM should do with the uDOM - <script> and <handler> elements  
must be executed in a global object with the SVGGlobal interface,  
thus providing access to the various uDOM interfaces.

What is the correct behavior for implementations that have a full  
DOM? I can imagine the following possibilities:

1) They must provide only the uDOM related interfaces to scripts in  
the SVG document.

2) They provide only full DOM interface and so may ignore the uDOM.

3) They must provide the union of DOM and uDOM interfaces.

Option 1 is seriously problematic in the CDF context, since it would  
require the use of a different global object for <svg:script> and  
<html:script> in the same document. It would also preclude upward  
compatibility with a future SVG 1.2 that provided a full DOM.

Option 2 seems like it would be difficult for SVG 1.2 Tiny authors,  
since they would have two incompatible APIs to write to. In some  
ways, though, it would be easiest on implementors since they could  
ignore the various problems with the uDOM.

Option 3 has issues as well. Some methods and attributes are  
specified in uDOM in a way that conclicts with the DOM spec itself,  
that makes this option currently infeasible (separate messages coming  
on the specific ones I find). Second, this effectively adds a  bunch  
of ad-hoc extensions to the DOM which in some cases overlap with  
defined core DOM functionality. It seems unfortunate to weigh down  
full DOM implementations with such redundant material.

In any case, I think the spec should spell out which of these options  
applies and resolve the resulting problems.

Received on Tuesday, 27 December 2005 06:16:17 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 8 March 2017 09:47:05 UTC