Re: TWO Change proposals for ISSUE-41 : Distributed Extensibility

Maciej Stachowiak, Tue, 16 Mar 2010 18:23:29 -0700:
> Hi Rob,
> 
> Thanks for your submissions. I have recorded both of your Change 
> Proposals on the issue status page:
> http://dev.w3.org/html5/status/issue-status.html#ISSUE-041
> 
> I have left the call for volunteers open, in case anyone else chooses 
> to submit any additional proposals.

I have created another proposal, with Rob's proposal as starting point:

http://www.w3.org/html/wg/wiki/ChangeProposals/html:xmlns

Short description:

* real namespace *prefixes* with some restrictions:
  - for elements, then XMLNS declared prefixes are permitted on 
<script> (see what AmpleSDK does) and in foreign namespaces and inside 
attributes (e.g. RDFa)
  - for attributes of HTML elements, then it is permitted with a 
specific underscore syntax: _prefix:attribute=""
* every prefix must be linked to a spec with a namespace URI
  - however, it is not always necessary to use prefix and XMLNS in the 
code;
  - the alternative is to use it in null namespace, see below.
* possible to register a default namespace URI for a prefix:
  - _name="" then has the prefix _name:, without the actual use of the 
prefix or of xmlns:_name=*.
  - this permits _vendorname="value" attributes, without use of xmlns 
or prefix in the code
  - this also allows _publicname="value" attribute, both with and 
without xmlns or prefix (registrant decides)
  - the namespace allows _publicname="" to be reused inside XML 
documents (via the namespace).
  - if UA(s) doesn't support the default namespace URI of _name=", then 
_publicname="" as well as _vendorname="" is in null namespaces.
* possible to reuse attributes from other namespaces:
  - <div _svg:attribute="value">
  - both xmlns and _prefix must then be used.
  - of course, in user agent is without namespace support, then e.g. 
_svg:attribute would count as a single attribute in null namespace.
* purpose of the underscore syntax is to signal "extension" and to 
avoid clashes with existing namespaces as well as to avoid that authors 
uses it for elements. 

I would describe my proposal as different from Rob's in that it puts 
more weight on the namespace URI. The intention with my proposal is to 
allow real namespaces in text/html. To allow real namespaces, there 
must be severe restrictions on the use and interpretation of them.  Or 
else, if existing "talisman" namespaces became "enabled", then pages 
would fall apart ... (Jotspot namespace of Google, Microsoft office 
namespaces etc.) The choice of the underscore "prefix" also avoids that 
authors use the syntax to create namespaced elements inside text/html. 
(An element beginning with underscore is not treated as an element in 
text/html.)
-- 
Leif Halvard Silli

Received on Wednesday, 17 March 2010 07:37:06 UTC