Alternate syntax for required features.

I've been playing around with the required features idea, and would like to offer the following proposal:

The idea is to have three new elements (features, extensions, profile)in the parameter namespace. Then, in the same manner as we do for style, we enumerate each feature as an attribute in the parameter (or feature) namespace, the values for these attributes are mostly binary; but in theory could be value sets or similar to cut down on the number of features (I've hypothecated one for fontSize in the example below). The <profile> element takes a @base attribute to define the defaults for all the features not specified.

Advantages:
It defines the starting point, (which is currently not clear), and allows us to add new profiles fairly easily.
This allows for a more principled extension mechanism than simply an additional x- in the name. Which will make extensions more usable and less likely to clash (e.g. SMPTE could define its own extension namespace and put in a bunch of features, and Microsoft could use the same names in its own namespace).
It's easier to manage from a code/authoring standpoint (i.e. we get support from XML editors and parsers, rather than burying it all in a string)
It's more congruent with the other mechanisms we have defined - e.g. style.
It allows for the possibility in the future of 'lifting' a set of features out as a named XML file and referring to it by URI on <profile>.
It allows for the possibility (although we may not allow this in practice) of turning off a requirement in one of the base profiles (the example turns off the requirement for color).

Example:

<tt xml:lang=""
    xmlns:ttf="http://www.w3.org/2006/10/ttaf1#feature"
    xmlns:ttp="http://www.w3.org/2006/10/ttaf1#parameter"
    xmlns:ms="http://www.microsoft.com/enable/timedtext"
    xmlns="http://www.w3.org/2006/10/ttaf1">
  <head>
    <profile base="dfxp-presentation">
      <ttp:features
          ttf:color="optional"
          ttf:bidi="required"
          ttf:fontStyle="italic oblique normal" />
      <ttp:extensions
          ms:x-narration-audio="required" />
    </profile>
  </head>
  <body>
    <div>
      <p/>
    </div>
  </body>
</tt>


Sean Hayes
Media Accessibility Strategist
Accessibility Business Unit
Microsoft

Office:  +44 118 909 5867,
Mobile: +44 7875 091385

Received on Wednesday, 25 March 2009 16:41:57 UTC