[SMIL30 LC Comment] Please use only one namespace

Prior SMIL specs have introduced many namespaces:

    http://annevankesteren.nl/2006/03/smil

It seems that SMIL 3.0 adds at least 63 more to this list:

   http://www.w3.org/TR/2007/WD-SMIL3-20070713/smil-modules.html#smilModulesNSSMIL21ModuleXMLNamespace

It says that:

    The XML namespace identifier for the complete set of SMIL 3.0 modules,
    elements and attributes, are contained within the following namespace:

       http://www.w3.org/2007/07/SMIL30/

...but this is not correct. Namespaces in XML are opaque strings. [1] The  
following are all completely different elements:

    <smil xmlns="http://www.w3.org/2007/07/SMIL30/"/>
    <smil xmlns="http://www.w3.org/2007/07/SMIL30/AccessKeyTiming"/>

You are effectively forcing implementors to ignore the namespace  
altogether or use some other means that to deal with the 174 different  
namespaces in SMIL. As I understand it, it's also effectively impossible  
to write a RELAX NG schema for SMIL 3.0 because it uses multiple  
namespaces.

It is not appropriate to have several namespaces for the same language.  
Even with a new version of a language, if it is intended to be backwards  
compatible (work in UAs that only support an older version of the  
language) it should use the same namespace. XHTML has only one namespace.  
SVG has only one namespace. MathML has only one namespace. And so forth.

Given that there already are 111 different namespaces for SMIL prior to  
SMIL 3.0, I would suggest that SMIL 3.0 clears this up by introducing one  
new namespace that is to be used for all future revisions of SMIL:

    http://www.w3.org/ns/smil

...and use a separate attribute to deal with module identifiers (e.g.  
module="AccessKeyTiming") if necessary.

[1] http://www.w3.org/TR/REC-xml-names/#NSNameComparison

-- 
Simon Pieters

Received on Friday, 31 August 2007 16:03:54 UTC