- From: Dean Jackson <dean@w3.org>
- Date: Mon, 14 Jun 2004 22:52:36 +1000
- To: Ian Hickson <ian@hixie.ch>
- Cc: www-svg@w3.org
On Mon 14 Jun 2004, Ian Hickson wrote:
> On Mon, 14 Jun 2004, Dean Jackson wrote:
> > > <foo>
> > > <rect x="0" y="0" width="200" height="100" fill="blue"
> > > xmlns="http://www.w3.org/2000/svg"/>
> > > </foo>
> > >
> > > ...respectively.
> >
> > We only say what should happen when you use SVG in the context
> > of SVG. In your example, I assume that it would be the language
> > that owns <foo> that would decide.
>
> Ah, interesting. So if <foo> is being rendered according to CSS, then
> that SVG element would have no SVG semantics and should just be rendered
> as any arbitrary XML? I guess that makes sense, yeah.
Yeah. The example I came up with was a speech markup. I have
no idea how you would "render" a <svg:rect> in that case, but
I'm confident that the speech markup would say how to do it.
> > Do you expect the SVG spec to say something in this case? Or, if this
> > isn't the behaviour you expect, what do you expect?
>
> I didn't really have any expectations, I was just wondering if the SVG
> spec said something about how to handle elements in the SVG namespace
> outside of SVG contexts.
>
> Unless I hear otherwise, I'll assume (for the purposes of conformance
> testing) that what you say above is what I should test. In other words,
> SVG elements in non-SVG contexts are handled as arbitrary XML elements and
> have no SVG-derived semantics.
I hate that word "semantics"! :)
Obviously it is still an <svg:rect>, but yes, as far as SVG is concerned
we don't expect any other grammar to handle our elements in a particular
way. Of course, they may choose to handle them differently, but that is
their choice.
>
> 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.
Again, what another markup chooses to do is really up to it, but I assume
it has to respect the SVG rules when it is processing SVG.
eg.
<html:body>
<svg:svg>
<html:p id="a"/>
</svg:svg>
</html:body>
Again, it's not explicit in the spec, but element a should not
have the HTML DOM interfaces. It's an unknown element in the SVG world.
If it were inside a <foreignObject> then it's up to the processor.
> (What about if it has no parent nodes, e.g. I just used
> createElementNS to create it?)
Ha. Well, that's pretty tricky isn't it?
These sound like really good compound document issues.
Dean
Received on Monday, 14 June 2004 08:50:34 UTC