Re: Extensibility strategies, was: Deciding in public (Was: SVGWG SVG-in-HTML proposal)

Ian Hickson wrote on 08/02/2008 05:52:10 AM:
>
> There is currently no mechanism for including non-visible proprietary
> metadata intended for use by user agents in HTML documents without
> discussing the extension with user agent vendors and the wider Web
> community, but I posit that this is a good thing. We don't want user
> agents inventing their own attributes without working with interested
> parties to make sure their feature is well designed.

My read of the HTML5 document differs from yours.  For example, given:

  http://www.whatwg.org/specs/web-apps/current-work/#custom

Which of the following are true about custom data attributes:
 * they are always visible
 * they are limited to recording non-proprietary data
 * they are limited to data (vs. metadata)
 * they are not attributes

>From what I can see, HTML5 has a number of places whereby proprietary meta
data can be stashed, the two key limitations remaining are that there is no
mechanism defined for preventing new vocabularies from colliding, and no
means to define which elementes in embedded content effectively are
processed with a self-closing flag set.  Beyond that there are a number of
secondary considerations: case sensitivity of element/attribute names, and
the semantics of DOM APIs whose name end in capital 'N' capital 'S').

And, for the record, the royal "we" in the final sentence in the above does
not include me.  I'm much more inclined to support the idea of evolution
than the notion of intelligent design.  Yes, my experience in XML indicates
that a syntax that permits default and prefixed elements to be used
interchangably is confusing, but when the expectation is set that all
elements in the base vocabulary are not-prefixed, and all elements in
extensions are, confusion disappears.  I've analyzed a lot of feed errors
over a long period of time, and such confusion just does not happen.

As I see it, the first step is to agree that the designers of HTML5 will
never define a vocabulary element with a name containing a colon in it, as
such are reserved for extensions.  And to treat elements as foreign
elements.

- Sam Ruby

Received on Saturday, 2 August 2008 12:23:19 UTC