OBJECT declaration/instantiation syntax

In exactly what contexts can a declared OBJECT be instantiated? This issue
remains annoyingly under-specified in HTML 4.01.

In a previous thread ("OBJECT implementation (longish)"), Ian Hickson and I
agreed that an object declared as

  <object declare id="foo" data="foobar"></object>

could be instantiated with an object element of the form

  <object data="#foo"></object>

In retrospect, though, I'm inclined to think of this as pure conjecture. It
may make *sense*, but I can't find anything in the HTML spec that gives
solid support to this syntax.

The HTML 4.01 spec includes two examples (13.3.4). The first instantiates
the declared object using an A element. It seems reasonable to conclude that
the only functional difference between the example and

  <P>A neat <A href="TheEarth.mpeg"> animation of The Earth!</A>

is that the example could give the advantage of pre-loading the MPEG with
the page.

But what about the second example, where a declared object is given as a
parameter to a different object? Are we to infer that this example could
also have used

  <param name="font" valuetype="ref" data="tribune.gif">

? Or is it supposed to be clear that the hypothetical poem-viewer plug-in
requires that its parameter be an object?

And why has this example been obfuscated by labeling a *.gif as
"application/x-webfont"? This filename extension is pretty ubiquitously
associated with "image/gif", and the HTML 4.01 spec elsewhere makes it clear
that the MIME type sent by the server should be given precedence over
OBJECT's TYPE attribute.

--
Braden N. McDaniel
braden@endoframe.com
<URL:http://www.endoframe.com>

Received on Wednesday, 8 September 1999 05:30:41 UTC