HTML extensibility framework

For the question of HTML extensibility, we have a handful
of extensibility methods that we know about, all of which
have shortcomings but at least can be enumerated, and the
choices made known.

I think it would be useful to come up with a common
description of the extensibility framework and the
kinds of considerations we might want to apply,
independent of HTML and SVG and XML etc. but so that
we agree on terminology and concepts and the nature
(if not the weight) we apply to evaluating the options.
I know much of this has been discussed, but I'm less
sure anyone's done the enumeration of options as 
succinctly as I'd like:

Consider languages YAML (yet another markup language)
and YAML2 which consists of YAML with changes or new
features or new extensions.

How can senders communicate to receivers that they are
speaking a different/extended language? How can receivers
determine which language speakers were intending
to speak.

Extension methods include:

0) new MIME type & new namespace
1) same MIME type & new namespace
2) new MIME type & old namespace
3) same MIME type & same namespace

In case (3), you definitely need also one of the
following (and can use these in other cases):

   new element
   different DOCTYPE
   add a processing instruction
   add a version attribute
   add a version element
   add comments or other indications of versioning
   add a script which adds the processing
   link new content with a new URI scheme
   link new content with a URI to new content

Considerations of when and how these versioning
and extensibility elements include:

What happens when you try to mix languages?
What happens when authors copy/paste from one
document to another?
What happens when you want to create compound objects
   which contain both YAML and YAML2?
What happens when you combine YAML2 and YAML3

How does a receiver looking at YAML2 output
know whether they "understand" YAML2?
What happens with legacy browsers?
How does this interact with legacy content?


Received on Wednesday, 18 March 2009 00:12:28 UTC