OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

cgmo-webcgm message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [cgmo-webcgm] XCF and "inherit" value


First:  I agree that "inherit" should also be on 'layer'  (as you said, 
don't specialize an attribute-value set depending on the host element).

Second:  I think we all agree what we want to happen for the top-level APS 
or 'layer'.  If it has the value "" (empty string, no set value) or 
"inherit", then it ought to take Initial Value.  What is unclear (to me at 
least) is what the inheritance-model wording currently says about it, i.e., 
if/how 5.4 currently specifies that.  Because Picture and Metafile nodes 
are ancestors to the top-level APS within the picture.


At 03:34 PM 5/24/2005 -0400, Benoit Bezaire wrote:
>Hi Lofton,
>
>I'm catching up to emails... I've read the whole thread and I'm
>replying only to this email. I don't think the problem is as
>complicated as the thread seems to imply. See inline.

No, I don't think it's particularly complicated, but ... if I was unable to 
determine the answer from 5.4, then that might indicate a problem for a 
naive reader (note, I'm not necessarily claiming to be non-naive!).

>[...]
>LH> Thoughts?  How can we deal with this cleanly?
>To me, the thing seems quite simple and I doubt any changes are
>required. Here's why?
>
>(i'm using markup, it's easier :)
><metafile>
>   <picture>
>     <grobject visibility="inherit"/>
>   </picture>
></metafile>

Let me make it simpler yet:

<metafile>
    <picture>
      <grobject id="obj1" ... />
    </picture>
</metafile>

This should have exactly the same effect as your example, right?  (And it 
doesn't force us to look at 5.4.2 -- handling of "inherit" value.)

The problem is in 5.4.1.1, #2:  "Otherwise [if not explicitly set], if the 
style attribute is inherited and the Application Structure is not the root 
of the document tree, use the computed value of the parent Application 
Structure."

I understand that you did a first-order adaptation of CSS2 wording (well 
done, at that!) and changed "element" to "APS".  To answer your question, 
No, Picture is not an APS, altho it sort of looks like one for some 
purposes.  (Nor is Metafile, which is the root according to figure 5.1b, 
and is where WebCGMNode.parentNode stops, presumably).

So we need wording that allows the inheritance chain to continue up beyond 
the top-level APS, to the "root of the document tree".  Options:

Opt.1:  s/APS/node/  ?  (Or in original CSS2, s/element/node/).
Opt.2:  add at end of 5.4.1.1 something like, "For the purposes of this 
inheritance model, Picture (the parent of top-level APSs within the picture 
body) is treated like an APS, and Metafile (the root of the document tree)"

Recommendation:  Opt.2.  Reason:  if those words had been present, I never 
would have asked the question in the first place.

(Note.  We might want to add even more words, or an example involving 
'visibility' or 'interactivity', the two affected attributes.)

One last comment...


>What is the value of visibility on the <grobject>?
> From section: 5.4.1.1 Specified values,
>"1. If the style attribute is assigned a value, use it."
>Ok, simple enough... so we go to section 5.4.1.2 Computed values,
>"See the section on inheritance for the definition of computed values
>when the specified value is 'inherit'."
>Ok, to section 5.4.2.1 The 'inherit' value,
>"the property takes the same computed value as the style attribute for
>the Application Structure's parent."
>Here it doesn't really matter if you think there is a parent or not,
>you will end up that you have to use the initial value, which is "on".
>In both cases you will end up with "3. Otherwise use the style
>attributes's initial value." of section 5.4.1.1
>
>BTW, this definition seems to work perfectly fine for HTML and SVG.
>And I don't quite see what is the difference between my example above
>and this:
>
><svg>
>   <g visibility="inherit"/>
></svg>
>
>The point is that when an implementation is doing the cascade, it
>has no choice but to initialize it's style properties structure to the
>Initial Values; those values are then cascaded down. So it doesn't
>matter if you start at the <metafile> node, the <picture> node, or on
>the <grobject> node... as soon as you see 'inherit', it will be
>replaced by 'on' (the initial value).
>
>I tried to adapt the CSS wording to WebCGM when I first wrote it, and
>it was me who replaced 'element' with 'Application Structure', which
>may be introducing the question of "Is the picture node an APS?. I
>think that's the only possible source of confusion on the matter. What
>is a good replacement for 'element'?

Yes, as 5.4.1.1, #2, shows, it is the specific use of APS that causes the 
problem, because ancestors of top-level APSs are not APSs.

-Lofton.




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]