On Sunday, August 21, 2005, 6:28:24 PM, L. David Baron wrote:
LDB> On Sunday 2005-08-21 18:20 +0200, Chris Lilley wrote:
>>
>> On Sunday, April 24, 2005, 7:27:38 PM, Bjoern wrote:
>> BH> From http://www.w3.org/TR/2005/WD-SVGMobile12-20050413/extend.html
>> BH> section 19.2
>>
>> BH> [...]
>> BH> The contents of 'foreignObject' are assumed to be from a different
>> BH> namespace. Any SVG elements within a 'foreignObject' will not be
>> BH> drawn, except in the situation where a properly defined SVG
>> BH> subdocument with a proper xmlns (see "Namespaces in XML 1.1" [XML-NS])
>> BH> attribute specification is embedded recursively.
>> BH> [...]
>>
>> BH> This seems to allow
>>
>> BH> <svg ...>
>> BH> <foreignObject ...>
>> BH> <svg ...>
>>
>> BH> which seems prohibed by the schema.
>>
>> It is prohibited by the schema, you are correct that this is not
>> desired. The spec has been altered by removing the text after 'drawn' so
>> that the sentence ends there.
LDB> Shouldn't it instead say that any SVG element *children* of a
LDB> 'foreignObject' will not be drawn? That seems like what may have been
LDB> intended in the first place. The revised text appears to prohibit
LDB> drawing SVG inside elements of some other language that are inside
LDB> foreignObject.
Yes, the original intent was that SVG foreignObject hands off to another
renderer, and that if that content then hands back to a (second instance
of an) SVG renderer, such nested embedding can occur.
But the original wording seemed to allow direct SVG children. Can you
suggest better text to clarify this?
The current wording makes it clear that the existing renderer is not to
render any SVG content which occurs as either direct children or as
nested children of foreignObject.
--
Chris Lilley mailto:chris@w3.org
Chair, W3C SVG Working Group
W3C Graphics Activity Lead