<object>
The <object> element enables authors to include animated images, applets, plug-ins, ActiveX controls, video clips, and other multimedia objects in a topic.
Content models
See appendix for information about this element in OASIS document type shells.
Inheritance
- topic/object
Example
Output processors might need to modify data in order to enable compatible function across various browsers, so these examples are only representative:
<p>Cutting the keys from the system unit:</p> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/ flash/swflash.cab#version=6,0,0,0" data="cutkey370.swf" type="application/x-shockwave-flash" height="280" width="370" id="cutkey370"> <desc>A description of the task</desc> <param name="movie" value="cutkey370.swf"/> <param name="quality" value="high"/> <param name="bgcolor" value="#FFFFFF"/> </object>
<p>What's EIM?</p> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/ flash/swflash.cab#version=6,0,0,0" data="eim.swf" height="400" width="500" id="eim"> <desc>Some great, glorious info</desc> <param name="movie" value="eim.swf"/> <param name="quality" value="high"/> <param name="bgcolor" value="#FFFFFF"/> <param name="pluginspace" value="http://www.macromedia.com/go/getflashplayer"/> </object>
Object with reference to video using key reference on the <param> elements
<object id="E5123_026.mp4" width="300" height="300"> <param name="poster" keyref="E5123_026_poster" /> <param name="source" keyref="E5123_026_video" /> </object>
Where the keys could be:
<map> <!-- ... --> <keydef keys="E5123_026_poster" href="../images/E5123_026_poster.png" type="video/mp4" /> <keydef keys="E5123_026_video" href="../media/E5123_026_poster.mp4" type="video/mp4" /> <!-- ... --> </map>
Object with indirect reference to a flash file and fallback @data value
<object classidkeyref="video_classid" codebasekeyref="video_codebase" datakeyref="cutkey370" height="280" width="370" id="cutkey370"> <desc>A description of the task</desc> <param name="movie" keyref="cutkey370"/> <param name="quality" value="high"/> <param name="bgcolor" value="#FFFFFF"/> </object>
Where the key could be:
<map> <!-- ... --> <!-- NOTE: Using @scope="external" because the class ID is a URI that is not intended to be directly resolved. --> <keydef keys="video_classid" href="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" scope="external" /> <!-- NOTE: Using @scope="external" to avoid systems trying to download this file when they don't need to. --> <keydef keys="video_codebase" href="http://download.macromedia.com/pub/shockwave/cabs/ flash/swflash.cab#version=6,0,0,0" format="shockwave" scope="external" /> <!-- Using @scope="external" here because the referenced URL is not intended to be resolved in isolation but relative to the codebase URI. --> <keydef keys="cutkey370" href="cutkey370.swf" type="application/x-shockwave-flash" scope="external" /> <!-- ... --> </map>
Attributes
The following attributes are available on this element: Universal attribute group, @outputclass, and the attributes defined below.
- @archive
- Specifies a space-separated list of URIs indicating resources needed by the object. These resources might include those URIs specified by the @classid and @data attributes. Preloading these resources usually results in faster loadtimes for objects. The URIs in the list should be relative to the URI specified in the @codebase attribute.
- @archivekeyrefs
- Key references to one or more archives, as for @archive. The value is a space-separated list of key names. Each resolvable key reference is treated as a URI as though it had been specified on the @archive attribute. When specified, and at least one key name is resolvable, the key-provided archive list is used. If @archive is specified, it is used as a fallback when no key names can be resolved to a URI.
- @classid
- Contains a URI that specifies the location of an object's implementation. It can be used together with the @data attribute which is specified relative to the value of the @codebase attribute.
- @classidkeyref
- Key reference to the URI that specifies the location of an object's implementation, as for @classid. When specified, and the key is resolvable, the key-provided class ID URI is used. If @classid is specified, it is used as a fallback when the key cannot be resolved to a URI.
- @codebase
- Specifies the base URI used for resolving the relative URI values given for @classid, @data, and @archive attributes. If @codebase is not set, the default is the base URI of the current element.
- @codebasekeyref
- Key reference to the base URI used for resolving other attributes, as for @codebase. When specified, and the key is resolvable, the key-provided code base URI is used. If @codebase is specified, it is used as a fallback if the key cannot be resolved to a URI. If no URI results from processing @codebasekeyref and @codebase is not specified, the default is the base URL of the current element.
- @data
- Contains a reference to the location of an object's data. If this attribute is a relative URL, it is specified relative to the value of the @codebase attribute. If this attribute is set, the @type attribute should also be set.
- @datakeyref
- Key reference to the location of an object's data, as for @data. When specified and the key is resolvable, the key-provided URI is used. A key that has no associated resource, only link text, is considered to be unresolved for the purpose of the @datakeyref attribute. If @data is specified, it is used as a fallback when the key cannot be resolved to a resource.
- @declare
- When this attribute is set to "declare", the current object definition is a declaration only. The object must be instantiated by a later nested object definition referring to this declaration. The only allowable value is "declare".
- @type
- Indicates the content type (MIME type) for the data specified by the @data or @datakeyref attribute. This attribute should be set when the @data attribute is set to avoid loading unsupported content types. Note that this differs from the @type attribute on many other DITA elements (it specifies a MIME type rather than a content type). If @type is not specified, the effective type value for the key named by the @datakeyref attribute is used as the this attribute's value.
- @standby
- Contains a message to be displayed while an object is loading.
- @height
- Indicates the vertical dimension for the resulting object display. If necessary, the object is scaled to the specified size. The value of this attribute is a real number (expressed in decimal notation) optionally followed by a unit of measure from the set of pc, pt, px, in, cm, mm, em (picas, points, pixels, inches, centimeters, millimeters, and ems respectively). The default unit is px (pixels). Possible values include: "5", "5in", and "10.5cm". If a height value is specified and no width value is specified, the width will be scaled by the same factor as the height. If both a height value and width value are specified, implementations MAY ignore one of the two values when they are unable to scale to each direction using different factors.
- @width
- Indicates the horizontal dimension for the resulting object display. If necessary, the object is scaled to the specified size. The value of this attribute is a real number (expressed in decimal notation) optionally followed by a unit of measure from the set of pc, pt, px, in, cm, mm, em (picas, points, pixels, inches, centimeters, millimeters, and ems respectively). The default unit is px (pixels). Possible values include: "5", "5in", and "10.5cm". If a width value is specified and no height value is specified, the height will be scaled by the same factor as the width. If both a height value and width value are specified, implementations MAY ignore one of the two values when they are unable to scale to each direction using different factors.
- @usemap
- Indicates that a client-side image map is to be used. An image map specifies active geometric regions of an included object and assigns a link to each region. When a link is selected, a document might be retrieved or a program might run on the server.
- @name
- Defines a unique name for the object.
- @tabindex
- Position the object in tabbing order.
- @longdescref (DEPRECATED)
- A reference to a textual description of the graphic or object. This attribute supports creating accessible content. See The @href attribute for detailed information on supported values and processing implications. For examples of how this attribute is used in output, see this topic on long descriptions. NOTE: This attribute is deprecated in favor of the <longdescref> subelement to this element.