Re: Does SVG 1.0 define this? (non-<svg> root element)

On Mon, 14 Jun 2004, Dean Jackson wrote:
>>
>> Would you say this extended to the DOM interfaces too? That is, if I
>> create an SVG element, does it have SVG interfaces if it is not in an SVG
>> context?
>
> Well, this is a really tough one. I don't think this is defined in any
> spec, but I say "it depends".
>
> As you know, in SVG we don't expect any non-SVG elements to have their
> native DOM interfaces. The exception are elements in a <foreignObject>
> when you are in a processor that implements the foreign namespace's
> native DOM.

That can't work though. If I create an html:div element, it has an
HTMLDivElement interface immediately. If I then insert it as the child of
an <svg:svg> element, it can't lose that interface. That would make no
sense.


> These sound like really good compound document issues.

I'm of the school of thought that says that there are no "compound
document issues", each namespace's spec simply has to define how its
elements work and then things just fit together.

Hence my questions.

My conclusion is:

   * SVG elements always have their SVG DOM interfaces

   * SVG elements that aren't in an SVG context get rendered as if they
     were arbitrary XML elements in the context they find themselves in.

   * SVG contexts are created by <svg:svg> elements so SVG elements that
     are the root element but aren't <svg:svg> fall into the previous
     bullet point.

Please let me know if the SVG group decides otherwise. It would be nice
for this to be explicitly mentioned in the SVG spec. For now I'll just use
those conclusions for my tests.

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Monday, 14 June 2004 10:51:10 UTC