[SVGMobile12] SVGT12-207: id/xml:id statement that does not match conformance criteria

Section 5.10.1 Attributes common to all elements: 'class', 'id', 'xml:id' 
and 'xml:base' places the following requirement on renderers: "when [the 
'id' DOM attribute] is updated both [the 'id' and 'xml:id' content] 
attributes must be updated too".

It does not set any other requirements (for example, it does not say that 
when you set one of the content attributes using the DOM3 Core 
setAttribute() or setAttributeNS() methods that anything should happen to 
the DOM attribute as well). The DOM attribute is defined in terms of a 
read operation and a write operation (A.7.15 SVGElement).

Thus it seems that the statement given in the third bullet point of 
section 5.10.1 Attributes common to all elements: 'class', 'id', 'xml:id' 
and 'xml:base' is inaccurate. The statement says that "SVGElement::id is 
updated when the attribute values are modified using the setAttributeNS(), 
setTraitNS(), or setTrait() methods", and that this means that "performing 
an update on one of those attributes will also update the other".

Please correct the specification to either remove the incorrect statement, 
or change the incorrect statement into a conformance criteria (e.g. by 
rewording it to something like "when one of the attributes is modified 
(e.g. using the setAttributeNS(), setTraitNS(), or setTrait() methods), 
the other attribute must be set to the same value".

(Note that the current text seems to suggest that if an author uses only 
xml:id, and an SVG 1.2 user agent then parses this file and generates a 
DOM, any attempt to serialise this DOM will result in an XML file 
containing both xml:id _and_ the old id attribute. This may be confusing 
to authors; personally I would suggest changing the specification so that 
if the author doesn't use the "id" attribute, it never appears.)

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Tuesday, 13 December 2005 03:58:40 UTC