The object element

On this page:

Description

The object element is a reference to a piece of content stored in another file. This may be an image, video, XML text, or other content, but its type must be among those supported by the profile (and possibly features) in use. The optional srctype attribute carries an enumeration of the media types that are allowed.

Two variants of object are defined. The first is for use as an inline element in text; the second is for use in structural contexts (e.g., between paragraphs).

Short Sample

<object xml:id="mnt" src="mouse.png">
 <p>Drawing of a mouse very common on Quail Island.</p>
</object>
        

Possible children

This element can not contain text. It may contain the following children: annotation, block, caption, code, hd, list, object, p, param, quote and table.

Possible parents

annotation, block, body, caption, item, meta, object, quote, section, td and th

Content model

First
[zeroOrMore] Zero or more of:
followed by
[oneOrMore] At least one or more of:
[choice] One of the following elements: annotation, block, caption, code, hd, list, object, p, quote and table

Namespace

http://www.daisy.org/z3986/2010/

This element belongs to the core grammar.

Attributes

Name Presence Description
src Required No further information about this attribute is available.
Value: Some value of type anyURI
about Optional This attribute is part of the RDF/a metadata attributes collection. For more information on the usage of RDF/a, consult the W3C RDF/a primer.
Value:

One of

• value(s) of type anyURI
• value(s) of type string satisfying
• the pattern "(([\i-[:]][\c-[:]]*)?:)?.+"
• a minimum length of 1
class Optional
Value: Some value of type NMTOKENS
content Optional This attribute is part of the RDF/a metadata attributes collection. For more information on the usage of RDF/a, consult the W3C RDF/a primer.
Value: Any string
datatype Optional This attribute is part of the RDF/a metadata attributes collection. For more information on the usage of RDF/a, consult the W3C RDF/a primer.
Value: Some value of type string satisfying
• the pattern "(([\i-[:]][\c-[:]]*)?:)?.+"
• a minimum length of 1
property Optional This attribute is part of the RDF/a metadata attributes collection. For more information on the usage of RDF/a, consult the W3C RDF/a primer.
Value: A white space separated list of one or more value(s) of type string satisfying
• the pattern "(([\i-[:]][\c-[:]]*)?:)?.+"
• a minimum length of 1
rel Optional This attribute is part of the RDF/a metadata attributes collection. For more information on the usage of RDF/a, consult the W3C RDF/a primer.
Value: A white space separated list of one or more value(s) of type string satisfying
• the pattern "(([\i-[:]][\c-[:]]*)?:)?.+"
• a minimum length of 1
resource Optional This attribute is part of the RDF/a metadata attributes collection. For more information on the usage of RDF/a, consult the W3C RDF/a primer.
Value:

One of

• value(s) of type anyURI
• value(s) of type string satisfying
• the pattern "(([\i-[:]][\c-[:]]*)?:)?.+"
• a minimum length of 1
rev Optional This attribute is part of the RDF/a metadata attributes collection. For more information on the usage of RDF/a, consult the W3C RDF/a primer.
Value: A white space separated list of one or more value(s) of type string satisfying
• the pattern "(([\i-[:]][\c-[:]]*)?:)?.+"
• a minimum length of 1
role Optional The role attribute allows the author to annotate elements with machine-extractable semantic information about the nature or purpose of an element.
The value of the role attribute is one or several QNames, which when expanded resolves to a class or property in an RDF vocabulary.
The role attribute generates an RDF triple, scoped to the current element. As compared to RDFa, the expression <x role="foo:bar"/> is equivalent to <x xml:id="baz" about="#baz" property="foo:bar"/>
The Z39.86 role attribute has been designed to be functionally compatible with the W3C XHTML Role Attribute Module.
This module itself does not define a method to assign default prefixes to used QNames; such practice is application specific.
Value: A white space separated list of one or more value(s) of type QName
srctype Optional No further information about this attribute is available.
Value:

One of

image/bmp
image/jpeg
image/png
typeof Optional This attribute is part of the RDF/a metadata attributes collection. For more information on the usage of RDF/a, consult the W3C RDF/a primer.
Value: A white space separated list of one or more value(s) of type string satisfying
• the pattern "(([\i-[:]][\c-[:]]*)?:)?.+"
• a minimum length of 1
its:dir Optional The its:dir attribute is used to specify the base writing direction of the content. If not specified, the default value ltr is assumed.
Consult Internationalization Tag Set (ITS) for further information.
This attribute belongs to the feature «ITS Ruby»
Value:

One of

lro
ltr
rlo
rtl
its:translate Optional The its:translate attribute expresses information about whether the content of an element should be translated or not.
If not specified, the default value "yes" is assumed.
Consult Internationalization Tag Set (ITS) for further information.
This attribute belongs to the feature «ITS Ruby»
Value:

One of

no
yes
xml:base Optional
Value: Some value of type anyURI
xml:id Optional
Value: Some value of type ID
xml:lang Optional The xml:lang attribute is used to identify the natural or formal language in which the content is written.
Consult Extensible Markup Language (XML) 1.0 for further information.
Value: Some value of type language
xml:space Optional
Value:

One of

default
preserve

Additional Information

Object calls for the incorporation of an external object into the document. It is functionally equivalent to the object element in XHTML 1.1. (TODO add ref)

The required src attribute must contain the URI of the external object. Optional, but recommended, attribute srctype gives the MIME type of the object. (TODO create documentation for this attribute in the attributes list - where does that go?)

Object may contain any number of param children, which provide additional information to the object being included. For instance, if the object is an applet it may require some initialization parameters.

All content of the object element other than param elements is to be used as a fallback if the object itself cannot be displayed. Some types of objects, although legal, may not be supported by the user agent; and some types of objects may not be useful to the person reading the document. For this reason some type of fallback is always required. Three types of fallbacks are allowed:

  1. Another nested object, presumably of a different type. For example, the first fallback for an animation may be a static image.
  2. Text content. Thus for example a text description can be provided for use when an image object cannot be displayed, or a blind user turns off image display on their device.
  3. An annotation can be used instead of a direct fallback.

TODO <ol> above is displaying as a bulleted list - why?

A fallback of type 1 or 2 is used, when necessary, as an automatic and one-to-one replacement for the object, in a manner transparent to the user. Thus, it should contain as closely as possible the same information content as the object itself. In contrast, use of annotation rather than direct fallbacks allows more flexibility and more nuanced semantics:

For example, a republisher might use a paragraph of text to summarize the meaning of a graph rather than translating all the data in a graph into text:

            <object xml:id="g1" src="graph.svg"/>
            <annotation for="g1" role="summary republisherAnno">
                This graph shows...
            </annotation>
          

TODO: summary role not in schema

Only objects of types legal in the current profile may be used. However, the Arbitrary Object Inclusion feature (TODO is this the correct name?) allows inclusion of any object type. Providing a fallback that is a profile-approved type is in this case recommended, and an ultimate fallback of included or annotating text is still required.