ИНФОРМАЦИЯ,    ДИЗАЙН,    ПЕРЕВОДЫ,    РЕКЛАМА   .   .   .
w a p - с а й т
Информационный портал
Сегодня:  
admin@aranea.ru
+79068922256

  aranea.ru || WML - Введение | 9.5 Задачи (Task)

9.5 Задачи (Task)

<!ENTITY % task	"go | prev | noop | refresh">

Задачи определяют обработку, которая выполняется в ответ на события, такие как завершение таймера, вход на карту или активизация элемента анкер.

9.5.1 Элемент Go

<!ENTITY % cache-control “(no-cache)” >
<ELEMENT go (postfield | setvar)*>
<!ATTLIST go
href %HREF; #REQUIRED
sendreferer %boolean; "false"
method (post|get) "get"
enctype %ContentType;
"application/x-www-form-urlencoded"
cache-control %cache-control; #IMPLIED
accept-charset CDATA #IMPLIED
%coreattrs;
>

Элемент go объявляет задачу go, включая навигацию на адрес URI. Если адрес URI называет карту или деку WML, то она выводится на дисплей. Задача go выполняет операцию "push" в стеке истории (смотрите раздел 9.2). Устройство вывода должно игнорировать все элементы postfield элемента go, если цель элемента go является картой, содержащей текущую деку, и если контроль кэширования не определяется как "no-cache".

Обратитесь к разделу 12.5.1 для получения подробной информации по семантике go.

Атрибуты
href=HREF

Атрибут href определяет адрес назначения URI, например, URI карты для вывода на дисплей.

sendreferer=Boolean

Если этот атрибут равен "true" ("правда"), то устройство вывода должно определять в пользу сервера адрес URI деки, содержащей эту задачу (т.е., ссылающуюся деку). Это позволит серверу выполнить форму управления доступом для адресов URI, основанных на том, какие деки связаны с ними. Адрес URI должен быть самым маленьким относительным адресом URI, если он может быть относительным вообще. Например, если sendreferer=true, то устройство вывода, основанного на HTTP, должно указывать адрес URI текущей деки в заголовке запроса HTTP "Referer" [RFC2068].

method= (post|get)

Этот атрибут определяет метод представления HTTP. В настоящее время значения get и post доступны и приводят к тому, что устройство вывода выполняет HTTP GET или POST, соответственно.

cache-control=no-cache

Если атрибут “cache-control” присутствует, и значение установлено как "no-cache", то клиент ДОЛЖЕН перезагрузить URL с оригинального сервера. Этот атрибут представляет заголовок HTTP "cache-control", когда этот атрибут присутствует, и заголовок HTTP "cache-control" ДОЛЖЕН быть добавлен к запросу с тем же значением, как определено в атрибуте.

enctype=Content Type

Этот атрибут определяет тип содержания, используемый для передачи параметра на сервер (когда значение метода - post). Значение по умолчанию для этого атрибута - application/x-www¬form-urlencoded. В настоящее время можно определить только application/x-www-form-urlencoded или multipart/form-data.

Когда значения полей в посылаемой форме может содержать символы, отсутствующие в наборе символов US-ASCII, рекомендуется, чтобы использовались метод post и multipart/form-data [RFC2388].

Устройства вывода должны явно определять тип содержания для каждой части. Если часть соответствует элементу postfield, то тип его содержания должен быть text/plain. Требуется параметр символов, когда содержание включает символы, отличные от набора символов US-ASCII.

accept-charset=cdata

Этот атрибут определяет список кодировок символов для данных, которые допускает оригинальный сервер, когда обрабатывает поступающие данные. Когда выполняется задача go, и определен метод method="post", устройство вывода должно кодировать имена полей и значения всех связанных элементов postfield с использованием любого символа из установленных наборов.

Значением этого атрибута является перечень имен кодировок символов (charset), разделенных запятой или пробелом, как определено в [RFC2045] и [RFC2068]. Регистр набора символов IANA определяет общедоступный регистр значений charset.

Если атрибут accept-charset не определен, или является зарезервированной строкой unknown, то устройство вывода должно использовать кодировку символов, которая используется для передачи WML-деки, которая содержит элемент go.

Атрибуты, определенные в другом месте
    §
  • id (смотрите раздел 8.9)
  • §
  • class (смотрите раздел 8.9)

Элемент go может содержать один или несколько элементов postfield. Эти элементы определяют информацию, которая передается оригинальному серверу во время запроса. Отправка данных полей выполняется следующим образом:

  1. Определяются пары имя/значение поля, и подставляются все переменные.
  2. Устройство вывода должно преобразовывать имена и значения полей в корректный набор символов, как определено явным образом в accept-charset или неявно кодировкой документа.
  3. Если значение атрибута href является адресом HTTP URI, то запрос выполняется в соответствии с method и значением атрибута enctype:
Method Enctype Обработка
get application/x-www-form-urlencoded Имена и значения полей включаются с помощью URI-перехода и собираются в типе содержания application/x-www-form urlencoded.
Данные передачи прикрепляются к компоненту запроса в URI. Результат должен быть корректным компонентом запроса с основной частью запроса и с комбинированным postfields. Операция HTTP GET выполняется в результирующем URL.
multipart/form- data Ошибка.

Method Enctype Обработка
post application/x-www-form-urlencoded Названия и значения полей обходятся с помощью URI-перехода и прикрепляются к типу содержания application/x-www-form-urlencoded.
Данные передачи посылаются как тело запроса HTTP POST.
Заголовок Content-Type должен включать параметр charset для указания кодировки символов.
multipart/form-data Названия и значения полей кодируются как тип содержания multipart/form-data, определенного в [RFC23 88].
Заголовок Content-Type должен включать параметр charset для указания кодировки символов, когда эта часть содержит символы, отличные от набора символов US-ASCII.
Данные передачи посылаются как тело запроса HTTP POST.

Когда значение атрибута enctype равно application/x-www-form-urlencoded, названия и значения полей должны кодироваться следующим образом:

  1. Названия и значения полей обходятся с помощью URI-перехода, и организуются в список в порядке, в котором представлены поля postfields.
  2. Название отделяется от значения с помощью `=', а пары название/значение разделяются друг от друга с помощью `&'. Смотрите [RFC2396] для получения подробной информации по синтаксису URI и их управляющих последовательностей.

Рекомендуется, чтобы устройства вывода предоставляли данные с типом содержания application/vnd.wap.multipart.form-data, когда атрибут enctype имеет значение multipart/form-data. Некоторые устройства вывода могут поддерживать только передачу данных типа application/x-www-form-urlencoded. Такие устройства вывода могут игнорировать атрибут enctype. Таким образом, рекомендуется, чтобы оригинальный сервер ожидал любую форму предоставления (т.е., multipart/form-data или application/x-www-form-urlencoded), когда значение enctype равно multipart/form-data. Однако, оригинальный сервер может допустить, что он будет получать только передачу application/x-www-form-urlencoded, когда значение enctype равно application/x-www-form-urlencoded.

Например, следующий элемент go приводит к запросу HTTP GET в адресе URL "/foo? x=1":

<go href="/foo">
<postfield name="x" value="1"/>
</go>

Следующий пример будет приводить к передаче HTTP POST в адресе URL "/bar" с телом сообщения, содержащим "w=12 &y=test":

<go href="/bar" method="post">
<postfield name="w" value="12"/>
<postfield name="y" value="test"/>
</go>

9.5.2 Элемент Prev

<!ELEMENT prev (setvar) *> 
<!ATTLIST prev
%coreattrs;
>

Элемент prev объявляет задачу prev для навигации к предыдущему адресу URI в стеке истории. Задача prev выполняет операцию "pop" в стеке истории (смотрите раздел 9.2).

Обратитесь к разделу 12.5.2 для получения подробной информации о prev.

Атрибуты, определенные в другом месте
    §
  • id (смотрите раздел 8.9)
  • §
  • class (смотрите раздел 8.9)

9.5.3 Элемент Refresh

<!ELEMENT refresh (setvar)*> 
<!ATTLIST refresh
%coreattrs;
>

Элемент refresh объявляет задачу refresh для обновления содержания устройства вывода, как определено в элементах setvar. Видимые для пользователя побочные эффекты изменений состояния (например, изменение на экране) происходят во время выполнения задачи refresh. Элемент refresh и его побочные эффекты происходят даже тогда, когда элементы не имеют элементов setvar, так что содержание может меняться другим способом (например, timer).

Обратитесь к разделу 12.5.4 для получения подробной информации по семантике refresh.

Атрибуты, определенные в другом месте
  • id (смотрите раздел 8.9)
  • class (смотрите раздел 8.9)

9.5.4 Элемент Noop

<!ELEMENT noop EMPTY> 
<!ATTLIST noop
%coreattrs;
>

Этот элемент noop определяет, что ничто не должно выполняться, т.е. "no operation" ("нет операций"). Обратитесь к разделу 12.5.3 для получения подробной информации о семантике noop.

Атрибуты, определенные в другом месте
  • id (смотрите раздел 8.9)
  • class (смотрите раздел 8.9)
← Назад | Вперед →
Copyright © 2006 -  aranea.ru