SVG12: SVG DOM Subset

Dear Scalable Vector Graphics Working Group,

  In http://www.w3.org/TR/2004/WD-SVG12-20041027/svgudom.html there
appear to be various differences between the various sections of the
appendix, for example, Appendix C.A.3 does not define a constant value
INVALID_STATE_ERR while Appendix C.A.9 does; Appendix C.A.5 defines only
two methods for the ElementTimeControl interface while Appendix C.A.9
defines six methods and one attribute. Either remove these and any
additional differences you might find or state more clearly in the
appendix why there are such differences.

Appendix C.A.6 has an interface "Connection" that lacks the
"setEncoding" method that is listed in Appendix C.B.2.3. As several Last
Call comments already pointed out, there is no prose definition of this
interface, so it is impossible to review the Connection interface in
general and this difference in particular. Please either bring Appendix
C.A.6 and Appendix B.2.3 in sync or add a proper discussion on this
difference in Appendix C.

The Appendix includes languages that makes me wonder about the status of
this section, for example, it says "All proposals assume" and "Proposed
list of supported traits"; such language is not appropriate for this
section, that's what the Status section of the Technical Report is for;
please replace such language with more appropriate language.

Appendix C.A.8 states 

[...]
  The table below shows the list of attributes and properties that Tiny
  DOM implementations must support. Each light gray section lists one or
  multiple elements for which the subsequent attributes or properties
  apply. Each attribute row lists the allowed getter and setter (s).
  This table is not normative.
[...]

"Light gray sections" are not accessible, please change the section to
convey the relevant information through something but color alone. This
section does not make sense to me, it first states it lists mandatory
features but then that it is not normative (which means it does not list
mandatory features). Then it re-fines this claim to state it is about
what is "allowed". Please change the section to make more sense.

If these changes do not render the section normative, it is inconsistent
with Appendix C.A.7 which claims that "For any given profile there is a
well-defined set of traits that all implementations must support" which
is not the case for SVG Tiny 1.2. In fact, it is neither the case for
SVG 1.2 "Full" either. In this case, please remove this conflict aswell
or state explicitly why there are such conflicts.

If these changes render the section normative, there appear to be errors
in various areas. For example, SVG Tiny 1.2 does support the <desc>
element, but the element does not appear in this table which would
suggest that implementations are not required to support access to the
text node children of <desc> elements. The same goes for e.g. the <a>
element which is part of the table but does not list #text either. In
this case, please remove these inconsistencies aswell or state
explicitly why there are such conflicts.

It is not clear which sections of Appendix C are normative, please state
explicitly which sections are normative (or informative). Assuming that
all sections are normative unless otherwise noted, the only normative
definition of text node access, appendix C.A.2.7, states,

[...]
  In the SVG 1.2 Tiny DOM, text node access is available via trait
  getters and setters. To access or set the text string value for a text
  element (e.g., a <text> element), you invoke getTrait() or setTrait()
  on that text element and pass #text as the name of the trait you want
  to get or set. For example, MyTextElement.setTrait("#text", "Hello");
[...]

The draft does not seem to define the term "text string value" and there
is no "obvious" definition of this term that would yield in well-defined
processing if such an element contains text and element child nodes
which is allowed in SVG Tiny 1.2, please change the definition such that
processing is well-defined for all cases.

According to Appendix A SVG 1.2 "Full" does not support the DOM Subset
defined in Appendix C, Appendix C does not state anything else either,
since SVG 1.2 Tiny does not support the <traitDef> element it seems that
this element is superfluous as there is no SVG profile that supports
both the <traitDef> element and the TraitAccess interface. Please either
remove this conflict or state explicitly why there is such a conflict.

regards.
-- 
Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/ 

Received on Friday, 7 January 2005 11:17:21 UTC