W3C home > Mailing lists > Public > www-svg@w3.org > January 2006

Re: [SVGMobile12] Rendering tree

From: Bjoern Hoehrmann <derhoermi@gmx.net>
Date: Tue, 17 Jan 2006 14:40:33 +0100
To: Anne van Kesteren <fora@annevankesteren.nl>
Cc: www-svg@w3.org
Message-ID: <bbsps15og01f3qlgqleep45u5p8l5ee3oh@hive.bjoern.hoehrmann.de>

* Anne van Kesteren wrote:
>That doesn't answer my  question. Must display='none' be set on the element
>itself? Can it be set on some ancestor? Can it be "indirectly" set through CSS
>(for UAs that support CSS)?

The referenced subtree is considered in isolation for all purposes of
SVG processing (style inheritance, event lister invocation, etc), so
while you can set styles on ancestors of the referenced subtree, it
won't have an effect on the instance tree. Likewise, if you register an
event listener on an ancestor, and a event is dispatched to an element
instance, the listener won't be invoked. You rather pretend the isolated
referenced subtree is a child of the use element for all purposes of SVG
processing, so styles set on the use element or its ancestors do have an
effect on the instance tree, just like event listeners on ancestors of
the use element would be triggered when events are dispatched to an
element instance.

So if your question is whether the display="none" in

  <g display="none">
    <rect xml:id="test" ... />
  </g>
  ...
  <use xlink:href="#test"

is insufficient to disable rendering of the rect element and all its
instances, then the answer is "yes". Using style sheets to manipulate
specified values rather than presentation attributes makes no difference
whatsoever in SVG's styling model.
-- 
Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/ 
Received on Tuesday, 17 January 2006 14:06:47 GMT

This archive was generated by hypermail 2.3.1 : Friday, 8 March 2013 15:54:33 GMT