RE: proposed changes to ACI chapter

Hi All,

I agree with the proposal, that is:

-----
Change the specification to:

<!ELEMENT lineJoin EMPTY >
<!ATTLIST lineJoin
           lineJoinInd ( 1 | 2 | 3 | 4 ) #REQUIRED  >

Regards,
Benoit.

-----Original Message-----
From: public-webcgm-wg-request@w3.org
[mailto:public-webcgm-wg-request@w3.org] On Behalf Of Lofton Henderson
Sent: Friday, May 22, 2009 10:53 AM
To: WebCGM WG
Subject: proposed changes to ACI chapter

All--

Action:
-----
Please reply on list to this message:  approve proposed changes; or
disapprove and state your reasons.

What:
-----
Following the Wednesday telecon, Dave and a small quality verification
task team have looked at Ch.9, the ACI specification and its dtd.  The
good news is that it appears to be sound now.  However, the group
recommends some simple changes before 2nd LCWD review.

Details:
-----
For seven elements under the (XML) defaultAttributes element, the (XML)
attributes associated with the element are optional and a default is
given.  Consider for example the lineJoin ACI element [1]:

[1]
http://www.w3.org/Graphics/WebCGM/drafts/current-editor-21/WebCGM21-Conf
ig.html#ACI-linejoin

<!ELEMENT lineJoin EMPTY >
<!ATTLIST lineJoin
           lineJoinInd ( 1 | 2 | 3 | 4 ) "1"
 >

While this is not incorrect or illegal, strictly speaking, on the other
hand it is not sensible when viewed from the perspective of the purpose
of the defaultAttributes element.  For example, it would allow:

<lineJoin></lineJoin>

and that construct would mean that the viewer should use the dtd's
default value for lineJoinInd, "1" ('unspecified'),  in rendering.  That
value is in fact the CGM:1999 default value for the LINE JOIN element,
so the element is essentially an no-op.

But  the ACI defaultAttributes element was added to webcgm precisely to
tie down such underspecified values, and enable uniform viewer results
when dealing with the underspecified CGM:1999 defaults.  I.e., if
someone is putting a lineJoin element into the ACI file, then the goal
presumably is to nail down "unspecified" and tell the viewer to use a
particular one of the other 3 well-defined values (which are the legal
ways to handle "unspecified").  So the optionality and defaulting of the
lineJoinInd attribute does not make sense for this group of elements.

It makes more sense to require the lineJoinInd attribute whenever the
lineJoin element is present.

Proposal:
-----
Change the specification to:

<!ELEMENT lineJoin EMPTY >
<!ATTLIST lineJoin
           lineJoinInd ( 1 | 2 | 3 | 4 ) #REQUIRED  >

If the ACI has a lineJoin element, it must have a lineJoinInd attribute.

This proposal would similarly be applied to:  lineCap, edgeCap,
lineJoin, edgeJoin, lineTypeCont, edgeTypeCont, restrTextType.

Additional:
-----
Each of these elements also has something like this at the end of it
definition:  "The default value is '1' or 'unspecified'."

I would change these occurrences to:
"Note (informative):  in the CGM:1999 specification, the default value
for the associated CGM LINE JOIN Attribute element is "1 (unspecified)."

It would also be acceptable to simply delete them (speak up if you have
a preference here.)

Tests:
-----
No ACI tests are affected.

Summary:
-----
Please reply with:  approval of this proposal; or, disapproval and your
reasons.

Regards,
-Lofton.

Received on Friday, 22 May 2009 18:09:13 UTC