О спецификации HTML 4.0

Правила генерации объектов


Агент пользователя должен интерпретировать элемент в соответствии со следующими правилами старшинства:

  • Сначала агент пользователя должен попытаться сгенерировать объект. Он не должен генерировать содержимое элемента, но должен проверить его на случай, если элемент содержит дополнительные дочерние элементы (см. ) или элементы (см. ).
  • Если агент пользователя по какой-либо причине не может сгенерировать объект (не сконфигурирован для этого, недостаточно ресурсов, ошибочная архитектура и т.д.), он должен попытаться сгенерировать его содержимое.
  • Авторам не следует включать содержимое в элементы , расположенные в элементе .

    В следующем примере мы вставляем в документ апплет, представляющий часы, с помощью элемента . Апплету, написанный на языке Python, не нужны дополнительные и рабочие значения. Атрибут определяет местоположение апплета:

    <P><OBJECT classid="http://www.miamachina.it/analogclock.py"> </OBJECT>

    Обратите внимание на то, что часы будут генерироваться, как только агент пользователя интерпретирует это объявление . Можно отложить генерацию объекта, начав с объявления объекта (описывается ниже).

    Авторы должны выполнять объявление, включая альтернативный текст в качестве содержимого элемента в случае, если агент пользователя не может сгенерировать часы.

    <P><OBJECT classid="http://www.miamachina.it/analogclock.py"> Часы с анимацией. </OBJECT>

    Одним важным последствием создания элемента является то, что он предлагает механизм задания альтернативной генерации объектов; в каждом внедренном объявлении могут задаваться альтернативные типы содержимого. Если агент пользователя не может сгенерировать outermost , он пытается сгенерировать содержимое, которое может юыть другим элементом и т.д.

    В следующем примере мы внедряем несколько объявлений для того, чтобы показать работу альтернативной генерации. Агент пользователя попытается сгенерировать первый элемент , который он может, в следующем порядке: (1) апплет Earth, написанный на языке Python, (2) клип Земли в формате MPEG, (3) изображение Земли в формате GIF, (4) альтернативный текст.


    <P> <!- Сначала попробовать апплет на языке Python --> <OBJECT title="Вид Земли из космоса" classid="http://www.observer.mars/TheEarth.py"> <!- Затем попробовать воспроизвести видеоклип в формате MPEG --> <OBJECT data="TheEarth.mpeg" type="application/mpeg"> <!- Затем попробовать изображение в формате GIF --> <OBJECT data="TheEarth.gif" type="image/gif"> <!- Затем сгенерировать текст --> Вид <STRONG>Земли</STRONG> из космоса. </OBJECT> </OBJECT> </OBJECT>

    Внешнее объявление определяет апплет, которому не нужны данные или начальные значения. Второе объявление определяет клип в формате MPEG и, поскольку местоположение обработчика формата MPEG не указано, предполагается, что клип будет обрабатываться агентом пользователя. Мы также установили атрибут type, так что агент пользователя, который знает, что он не может сгенерировать клип в формате MPEG, не будет загружать файл "TheEarth.mpeg" из сети. В третьем объявлении задается местоположение файла в формате GIF и определяется альтернативный текст на случай, если все прочие механизмы не сработают.

    Встроенные и внешние данные. Данные, которые должны генерироваться, могут указываться двумя способами: в виде встроенного или внешнего ресурса. Последний метод обычно обеспечивает более быструю генерацию, но неудобен при генерации большого объема данных.

    Ниже приводится пример, показывающий, как встроенные данные могут be fed to an :

    <P> <OBJECT id="clock1" classid="clsid:663C8FEF-1EF9-11CF-A3DB-080036F12502" data="data:application/x-oleobject;base64, ...данные base64..."> Часы. </OBJECT>

    Информацию о размере, выравнивании и границах объекта см. в разделе .


    Содержание раздела