- From: Lofton Henderson <lofton@rockynet.com>
- Date: Fri, 22 May 2009 08:53:25 -0600
- To: WebCGM WG <public-webcgm-wg@w3.org>
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-Config.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 14:54:30 UTC