Технология WAP
13

Также определены переменные, элементы и синтаксис, которые должны применяться в правильном WML-файле.

При каждом получении WML-содержания браузер выполняет его разбор и показывает первую карту WML-колоды пользователю. Если в процессе интерпретации WML-содержания был указан адрес WMLScript-документа, то браузер посылает запрос на получение этого сценария. После получения сценария от сервера виртуальная машина WMLScript интерпретирует и выполняет его.

Сам шлюз и сервер содержания могут размещаться на одном компьютере.

3.2.Язык WML

WAP-спецификация определяет Wireless Markup Language (WML) и Wireless Markup Language Script (подмножество WAE-спецификации) как языки для показа и добавления процедурной логики для беспроводного устройства, поддерживающего WAP. WML является обычным языком разметки, а WMLScript — язык описания сценариев.

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

В этой терминологии WML-документы представлены в виде колод. Каждая колода состоит из карт, содержащих процедуры взаимодействия с пользователем. При этом действия пользователя распадаются на три уровня взаимодействия — уровень колоды, уровень карты и уровень ссылок и списков выбора.

3.3.Язык сценариев WMLScript

В основе WMLScript лежит спецификация стандарта ЕСМА Script (больше известная под названием JavaScript — де-факто стандарт описания сценариев для Internet-приложений).

Internet-вариант стандартного языка был изменен для использования в беспроводных терминалах. В современной версии это слабо типизированный язык; тип данных для переменной определяется в момент присвоения значения этой переменной. Поддерживаются следующие типы данных: булевский, целый и числа с плавающей точкой. Правила именования переменных WMLScript аналогичны языку WML, а именно:

- могут использоваться алфавитно-числовые символы;

- внутри имен можно применять знак подчеркивания;

- все имена пишутся строчными (т. е. маленькими) буквами;

- имена не могут начинаться с цифры.

WML кодируется в байт-код, в то время как WMLScript должен быть откомпилирован до момента отправки клиенту. В отличие от HTML и JavaScript, WML содержит ссылки только на URL.

WAP-клиент обязан содержать виртуальную WMLScript-машину, чтобы запускать откомпилированный сценарий. Все это обеспечивает стандартное понимание для применения процедурной логики к WML-колодам. WAE описывает также набор функций стандартных библиотек. Эти функции должны быть доступны на платформе, совместимой с WAP-спецификацией.