Re: OBJECT (was Re: So, what's left?)

On Mon, 31 Jan 2000, Jonny Axelsson wrote:

> At 11:44 31.01.00 -0800, Murray Altheim wrote:
> 
> > The gist is that there are 36 attributes, used in various
> > combinations to support a number of different uses of <object>.
> > In addition to the attributes in the HTML 4.0 Specification,
> > there are *many* other unofficial attributes used to support
> > various other media types

> [...] The attribute list/interpretation could be simplified
> without losing power or extensibility. A single attribute (type)
> should be sufficient as a decision mechanism, the rest should be
> handled by the agent (internal or external) set to manage that
> media type. If that needs 30 attributes, so be it as long as it
> doesn't bother the HTML UA. Though I find it hard to believe that
> those attributes wouldn't be PARAMetres.

The problems with the PARAM kludge are two:

 (1) The parameter names are no longer exposed to useful validation.  
 (2) It breaks the container model, by introducing two kinds of
     child elements - "true" content and kludge placeholders for
     parametric data.

Both of these problems are essentially the result of not trying to
shoehorn everything into element-and-attribute syntax (Holy Writ now
delivered unto us from 50,000 ft), but also the lack of separation
between declaration and use.  (Yes, <object> has a 'declare' thingy,
but that too is a kludge.)  The <object> element as a component of
instance data is just a transclusion point: so its attributes should
be concerned with the *generic* aspects of transclusion only (sizing,
etc.)  The fact of the matter is that objects differ, and so their
specific charcateristics should be in an object-type-specific
declaration, invoked by reference in the <object> instantiation.

For any specific type of object, all you would need is a set of
declarations like this

  <!ELEMENT  thingy  ANY >
  <!ATTLIST  thingy
             type   (object)  object
             id     ID        #REQUIRED   
             -- all object specific attributes here --
             >

Extend the DTD appropriately, declare the intent to use thingies in a
good place (such as within the <head> section) and in the <body> just
have <object idref=thingy-id ...>.

But this will never make it into the spec, because it isn't quick and
dirty.  (I believe tOfficial Speak is "this is not the simple case")



Arjun
  

Received on Monday, 31 January 2000 18:04:30 UTC