Re: [SVGMobile12] Resolution of issue SVGT12-487 not satisfactory

It looks like this whole discussion is based on a misunderstanding of 
the WebCGM spec [1]. The WebCGM spec and the de-facto HTML standard are 
not incompatible.

Especially the clarification given by Chris Lilley in [2] is not how I 
think the WebCGM spec should be read. If Chris had been right, then 
there would have been no reason for the WebCGM spec to say that _replace 
only applies to CGM-to-CGM, as it would have been very useful for a CGM 
file loaded in an iframe.

_replace is used in WebCGM for images that are loaded in HTML with the 
img element. In CGM-to-CGM, the link target would be set as the src 
attribute of the img element. And as HTML is not allowed as image 
format, _replace is not applicable to CGM-to-HTML.

The problem of reading the WebCGM spec lies in the fact that is 
undefined what creates a frame. There is no doubt that html frame 
elements create frames. An iframe does so too (as the name implies).

There only remains one problem, the object tag. Does it create a frame?

I did some test, by loading an image, an html document and an svg 
document in an object element. Internet Explorer always creates a frame. 
Firefox does not create a frame for an image, but does so for html and 
svg. Opera creates a frame for html, but not for images or svg. 
(Although I'm not so sure about SVG, as Opera does not seem to create a 
frame for an SVG file in an Iframe either.)

This explains why Boris Zbarsky was confused by the meaning of _replace, 
because Firefox always creates a frame for svg content, so _replace 
never applies and always means the same as _self.

There is one other thing: if the HTML elements and the SVG elements are 
in the same document, and the link points to another SVG document, then 
_replace could mean that the root SVG element is replaced *in the DOM* 
by the documentElement of the targeted SVG document. (A kind of XInclude 
operation.) This probably creates more problems than it solves and 
_replace should in this case do the same as _self.


Sjoerd Visscher

Received on Sunday, 13 August 2006 15:09:50 UTC