Опубликован: 19.05.2006 | Доступ: свободный | Студентов: 9835 / 1470 | Оценка: 4.29 / 4.03 | Длительность: 22:29:00
ISBN: 978-5-94774-648-8
Лекция 13:

Объекты, Изображения и Аплеты

Глобальные схемы именования объектов

Размещение реализации объекта задаётся в URI. Как мы уже видели во введении в URI, первый сегмент абсолютного URI специфицирует схему именования, используемую для передачи данных, указанных в URI. Для документов HTML эта схема, чаще всего, " http ". Некоторые аплеты могут применять другие схемы именования. Например, при спецификации аплета Java, авторы могут использовать URI, начинающиеся с " java ", а для аплетов ActiveX - использовать " clsid ".

В следующем примере мы вставляем аплет Java в документ HTML:

<P><OBJECT classid="java:program.start">
</OBJECT>

При установленном атрибуте codetype, ПА может решить, запрашивать ли приложение Java, на основе его ( ПА ) способности выполнить аплет.

<OBJECT codetype="application/java-archive"
        classid="java:program.start">
</OBJECT>

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

<OBJECT codetype="application/java-archive"
        classid="java:program.start"
        codebase="http://foooo.bar.com/java/myimplementation/">
</OBJECT>

В следующем примере специфицирован (в атрибуте classid ) объект ActiveX в URI, начинающемся со схемы именования " clsid ". Атрибут data локализует данные для отображения ("часы").

<P><OBJECT classid="clsid:663C8FEF-1EF9-11CF-A3DB-080036F12502"
        data="http://www.acme.com/ole/clock.stm">
Это приложение не поддерживается.
</OBJECT>

Объявление и размещение объектов

Предыдущие примеры иллюстрировали только изолированные определения объектов. Если документ содержит более чем один экземпляр (сущность) одного и того же объекта, можно разделить объявление объекта и его экземпляра. Такой подход даёт определённые преимущества:

  • Данные могут быть запрошены ПА из сети только один раз (при объявлении) и повторно использоваться для каждого экземпляра.
  • Можно ссылаться на экземпляры объекта, определённые в месте отличном от места их объявления.
  • Можно определять объекты как данные этапа выполнения других объектов.

Для объявления объекта так, чтобы он не исполнялся после считывания ПА, установите булев атрибут 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 и объектом просмотра стиха достигается путём

  1. установки id "tribune" в объявлении объекта font и
  2. ссылкой на него из элемента 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.

Ирина Кириллова
Ирина Кириллова

Нажимаю на ссылку на дополнительный материал и дополнение к информации-меня возвращает на первую страницу лекции. Подскажите, что делать? Или дополнительный материал платный?

Владислав Попов
Владислав Попов
Россия, г. Сыктывкар
Семен Дядькин
Семен Дядькин
Беларусь, Минск, БГУ, 2003