RE: [SVGMobile12] Very unclear processing model for version="", baseProfile=""

On Tue, 20 Sep 2005, Scott Hayman wrote:
> > 
> > Section C.4 Namespace, version, baseProfile, requiredFeatures 
> > and requiredExtensions says:
> > 
> > # If these attributes identify a version, a profile, features 
> > # or extensions, and the features are not supported by the 
> > # user agent [...]
> > 
> > However, the specification does not seem to define how a user agent is 
> > to establish whether it supports a given version or profile.
> 
> We agree that the specification lacks clarity and is in fact 
> inconsistent in this area. We have changed the last paragraph of C.4 to 
> read as follows:
> 
> 	Attributes 'requiredFeatures' and 'requiredExtensions' provide
> explicit indication of the minimal features that must be supported by
> the UA in order to render the SVG content correctly.

I assume this is not intended to be a normative statement, despite the 
use of the word "must" which SVG 1.2 says has its RFC2119 meaning. Could 
the sentence be clarified so that it does not use RFC2119 terminology in 
a non-normative manner?


> Attributes 'version' in conjunction with 'baseProfile' also provide 
> explicit indication of the minimal features that must be supported. For 
> example, if 'version' is '1.2' and 'baseProfile' is 'tiny', then these 
> attributes indicate that the content requires a UA that minimally 
> supports the SVG Tiny 1.2 specification.

This is reasonable introductory text.


> If the user agent does not support the minimal required feature set, 
> then the user agent should alert or otherwise provide a highly visible 
> notification to the user that it may not be able to render the content 
> correctly.

This is the conformance requirement. Why is it a SHOULD, rather than a 
MUST? This seems to conflict with the intent of the first sentence you 
quoted. Also, this sentence does not seem to define what the "required 
feature set" is (is it the attribute's value?) nor how the UA vendor is to 
know if it "support[s] the minimal required feature set".


> 	However, 'version' without a specified value for 'baseProfile'
> simply indicates to the user agent the specification level (1.0, 1.1,
> 1.2) to which the content conforms. Without 'baseProfile', the user
> agent cannot determine the minimum feature set that is required to
> render the content but only knows that the author might be using
> language features that were not defined in previous versions of the
> language. Therefore, if the content specifies a later version of the SVG
> language than what the user agent supports, then the user agent should
> alert or otherwise provide a highly visible notification to the user
> that it may not be able to render the content correctly.

Again, it does not seem clear how a UA is to determine if the version 
specified is a "later version of the SVG language than what the user agent 
supports". (Also, again, why is this a SHOULD?)


> > For example, nothing in the spec seems to say whether an SVG 
> > 1.2 UA should claim to support a document that says 
> > version="1.1", or "1.0", or "1.1.0".
> 
> We have also added the following sentence to the section on conforming
> SVG interpreters [1] to address this specific situation:
> 
> 	A Conforming SVG Interpreter must be able to parse and process a
> conforming SVG Tiny 1.1 document fragment [SVGM11].

I do not believe this addresses my concerns. I still cannot tell, from the 
text you quoted, whether an SVG 1.2 UA is to claim to support a document 
that says version="1.1", or "1.0", or "1.1.0".

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

Received on Wednesday, 21 September 2005 20:55:50 UTC