Объявление и размещение объектов
Предыдущие примеры иллюстрировали только изолированные определения объектов. Если документ содержит более чем одну инстанцию (сущность, объект) одного и того же объекта, можно разделить объявление объекта и его инстанции. Такой подход даёт определённые преимущества:
- Данные могут быть запрошены ПА из сети только один раз (при объявлении) и повторно использоваться для каждой инстанции.
- Можно размещать инстанции из другого места, например, из гиперссылки.
- Можно определять объекты как данные этапа выполнения других объектов.
Для объявления объекта так, чтобы он не исполнялся после считывания ПА, установите булев атрибут declare элемента OBJECT.
Одновременно авторы должны идентифицировать объявление установкой уникального значения атрибута id элемента OBJECT. Последующие инстанции этого объекта будут ссылаться на этот идентификатор.
Объявленный OBJECT должен появиться до первой инстанции этого OBJECT.
Объект, объявленный с атрибутом declare, размещается каждый раз, когда элемент, который ссылается на этот объект, запрашивает его (объект) для отображения (напр., гиперссылка, ссылающаяся на него, активирована, объект, ссылающийся на него, активирован и т.д.).
В следующем примере мы объявляем OBJECT и размещаем его вызовом из гиперссылки. Таким образом, объект может быть активирован щелчком на выделенном тексте, например:
<P><OBJECT declare id="earth.declaration" data="TheEarth.mpeg" type="application/mpeg"> <STRONG>Земля</STRONG> - вид из космоса. </OBJECT> ...позже в документе... <P>Вот <A href="#earth.declaration"> анимация Earth!</A>
Следующий пример иллюстрирует, как специфицировать значения этапа выполнения, которые являются другими объектами. Здесь мы посылаем текст (стих) гипотетическому механизму просмотра стихов. Объект распознаёт параметр этапа выполнения под названием "font" (для отображения текста стиха определённым шрифтом). Значение этого параметра само по себе является объектом, которое вставляет (но не отображает) объект шрифта. Соотношение между объектом font и объектом просмотра стиха достигается путём
- установки id "tribune" в объявлении объекта font и
- ссылкой на него из элемента PARAM объекта просмотра стиха (с помощью valuetype и value).
<P><OBJECT declare id="tribune" type="application/x-webfont" data="tribune.gif"> </OBJECT> ...здесь просматривается KublaKhan.txt... <P><OBJECT classid="http://foo.bar.com/poem_viewer" data="KublaKhan.txt"> <PARAM name="font" valuetype="object" value="#tribune"> <P>You're missing a really cool poem viewer ... </OBJECT>
ПА, не поддерживающие атрибут declare, должны отображать содержимое объявления OBJECT.