- From: Don XML <don_xml@hotmail.com>
- Date: Tue, 10 Dec 2002 15:08:56 -0500
- To: www-svg@w3.org
The SVG# group has been working on implementing the 1.2 SvgWindow interface proposal, and we are running into some conceptual issues that I hope some on the list can help with. First, here is the definition of the SvgDocument from 1.1: <SVG1_1> 5.17 DOM interfaces Interface SVGDocument When an 'svg' element is embedded inline as a component of a document from another namespace, such as when an 'svg' element is embedded inline within an XHTML document [XHTML], then an SVGDocument object will not exist; instead, the root object in the document object hierarchy will be a Document object of a different type, such as an HTMLDocument object. However, an SVGDocument object will indeed exist when the root element of the XML document hierarchy is an 'svg' element, such as when viewing a stand-alone SVG file (i.e., a file with MIME type "image/svg+xml"). In this case, the SVGDocument object will be the root object of the document object model hierarchy. In the case where an SVG document is embedded by reference, such as when an XHTML document has an 'object' element whose href attribute references an SVG document (i.e., a document whose MIME type is "image/svg+xml" and whose root element is thus an 'svg' element), there will exist two distinct DOM hierarchies. The first DOM hierarchy will be for the referencing document (e.g., an XHTML document). The second DOM hierarchy will be for the referenced SVG document. In this second DOM hierarchy, the root object of the document object model hierarchy is an SVGDocument object. The SVGDocument interface contains a similar list of attributes and methods to the HTMLDocument interface described in the Document Object Model (HTML) Level 1 chapter of the [DOM1] specification. </SVG1_1> And here's the definition of the SvgWindow object from the 1.2 WD: <SVG1_2WD> 7.4 Window Interface The majority of scripted SVG documents in existence make use of the browser specific Window interface, which includes methods such as setTimeout and clearInterval. SVG 1.2 will most likely specify an SVGWindow interface, taking into account the defacto standard that already exists. A method will be added to the SVGDocument interface to enable access to the SVGWindow interface. The following is the current proposed Window interface in IDL. Interface SVGWindow Interface SVGWindow provides a global object for scripts embedded in a SVG document. </SVG1_2WD> Here are a couple problems we are having: 1) What is the root object of an SVG object? Is it the SvgDocument? or the SvgWindow? or something new? The SVG# team has gone round and round on this issue, and I seem to think that we need something new, but more on that later. 2) If an SvgDocument doesn’t have to exist (i.e if the SVG is inline with XHTML), how do you get a reference to the SvgWindow if you can only get to it off the SvgDocument? The SvgWindow still needs to exist, even if the SvgDocument does not. IMHO we need something like a SvgDocumentFragment which is associated with a SvgWindow. This way no matter if the SVG element is the root object of the document, just a document fragment contained within a document that has a root element of another namespace, or a document fragment contained within a SvgDocument, everything works the same. The SvgWindow describes the box (or canvas) that the associated SvgDocumentFragment can be rendered in. To me, this model seems to be more compliant with the CSS Box model. Don XML Always listen to experts. They'll tell you what can't be done, and why. Then do it. _________________________________________________________________ The new MSN 8: smart spam protection and 2 months FREE* http://join.msn.com/?page=features/junkmail
Received on Tuesday, 10 December 2002 15:09:34 UTC