Re: [SVGMobile12] 5.8.1: interaction of conditional processing and use is unclear

> I think it would help if the sentence I originally quoted:
> 
> # Similar to the 'display' property, conditional processing attributes
> # only affect the direct rendering of elements and do not prevent
> # elements from being successfully referenced by other elements (such as
> # via a 'use').
> 
> were followed by something like:
> 
> # However, the conditional processing attributes in the content that
> # must appear to be deep-cloned into the generated tree are processed
> # normally.
> 
> (I'm a little unsure of the terminology to use since the whole concept
> of deep cloning is within a "has the same visual effect as if" clause.)

L. David,

I recently was working through this section as well and with the help of 
Bjoern Hoermann I came up with a way to patch the rendering tree as you 
render without cloning-- simply: removing the referenced node, appending 
it to the use, patching the attributes based on the referenced element 
type (saving attributes for restoration after rendering the current 
<use>), rendering (treating the children of the <use> as you would a <g> 
or <svg> depending on the type of referenced element), and restoring the 
previous attributes and structure.

Essentially, this lends usefulness to "has the same visual effect" 
because it is a visual effect rather than a structural generated/cloned 
tree. I am not sure if this helps your question, but it certainly helped 
me understand that phrase in in SVG 1.1.

My hope is that treating the "shadow tree" as read-only is not impacted 
as such an implementation would be in violation. Hence, phrasing around 
"deep-cloning" has me a bit worried.

Cheers,
Jeff Rafter

Received on Thursday, 3 November 2005 01:57:12 UTC