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[4]: [cgmo-webcgm] ISSUE: what does 'get..' return? [2 of 2]


Hi all,

This thread is not using the right terminology and that's confusing
me. I don't like the word "undefined", there is no such word in the
DOM getAttribute() method. An attribute is either 'specified'
(explicitly written in the file, attName="value") or has a default
value (from a schema or DTD, ex: version="2.0").

The DOM getAttribute() method returns an empty string if the attribute
is not specified or assigned a default value in the DTD. Not
"undefined".

Question: Is there a big different between returning an empty string
or returning the "inherit" string?

To me there isn't since they both mean that the attribute is not
specified on the object. 

More inline.

Thursday, April 28, 2005, 5:38:04 AM, Dieter wrote:

DW> Hi Lofton,

DW> we are close.

LH>> Here is our conceptual disagreement.  Because the 3.2.2.9 model (above)
LH>> says "Inherited: yes", you are interpreting that as meaning that the
LH>> initial value for an unspecified attribute must be 'inherit'.  I don't
LH>> think that necessarily follows.  IMO, our model currently works
LH>> fine this way:
LH>>
LH>> 1.) if explicitly set value on particular node, that is it for
LH>> both display and DOM query (no dispute here);
DW> Agreed.

LH>> 2.) if no explicitly set value on particular node, including on any
LH>> ancestors, then "Initial value" is used for display ("Initial
LH>> value: on" rules);
DW> Agreed.

LH>> 3.) if no explicitly set value on particular node, but explicit on an
LH>> ancestor, then that ancestor value used for display ("Inherited: yes"
LH>> rules, overrides initial value);
DW> see comment below.

LH>> 4.) if no explicitly set value on particular node, DOM query returns
LH>> "undefined" (standard DOM rule)
LH>>
DW> agreed. The behavior is inherit then, though.
I don't think we should re-invent an inheritance model with 1,2,3,4.
It is already defined in the spec, please read: 5.4.1.1 Specified
values. That particular wording talks about the CSS style attribute
which should be replaced to WebCGM Style attributes (or something
equivalent), but the concept is there.

DW> I guess my confusion is based on my lack of understanding, what "initial
DW> value" means. I have no problem with 4.), a programmer then knows
DW> that he has to walk up the tree to compute the actual behavior, if
DW> there is any specified on ancestors. 

DW> Questions:
DW> - initial value is used until an explicit value is set using a DOM call,
DW> right?
Yes but note that initial value will not be used if the attribute
value is inherited.

DW> - assume the following situation:
DW>    BEGAPS 'first'
DW>      'visibility' on
DW>      BEGAPS 'second'
DW>      ENDAPS;
DW>    ENDAPS;

DW>   first is visible, second as well.
Yes.

DW>   DOM get call on second returns "undefined" according to 4.)
I don't like that, I think it should return an empty string.

DW>   Now assume a "set" call on "second"	set visibility to "off"
Ok.

DW>   DOM get call on second now returns "off".
Yes.

DW>   How do I return to the initial state?
DW>   I can delete the attribute, no problem.
We've made 'visibility' and 'interactivity' WebCGM APS attribute as
oppose to style attributes (like stroke, intensity, stroke-width
etc...), so the clearStyle() method doesn't work.

You have to either:
- reload the file.
- remove the attribute.
- or your script has to remember the previous value.

DW>   Then there may be one out of two situations:
DW> 	- ancestor has set value and controls visibility of "second" from there on
DW> 	- no ancestor with set value.

DW>   Does the latter case imply that "initial value" will be used,
DW> 	- after opening the file without modifications
Yes.

DW> 	- after deleting a previously set attribute on the APS AND no
DW> ancestor has a set value
Yes.

DW> 	- after deleting an attribute read from the WebCGM file AND no
DW> ancestor has a set value
Yes.

DW> - how do I set the "undefined" state from within an XCF?
DW>    BEGAPS 'first'
DW>      'visibility' on
DW>    ENDAPS;
You cannot (not at the moment). Is this something you believe users
will want to do?

DW> I can set visibility="on" or visibility="off". How do I delete the
DW> attribute, or in other words, how do I set this APS to inherit its
DW> behavior from its ancestors?
We would need the "inherit" value for that.

-- 
 Benoit   mailto:benoit@itedo.com



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