Основы WAP

Часто задаваемые вопросы о WAP

  • Что такое WAP?
  • Для чего предназначен WAP?
  • Как WAP связан с органами стандартизации?
  • Как WAP связан со стандартами Интернет?
  • Каков статус WAP?
  • Каково будущее WAP?

  • Ответы на эти и многие другие аналогичные вопросы можно узнать на сайте WAP Forum: http://www.wapforum.org/faqs/index.htm.

    Что такое WAP?

    WAP - это протокол сетевого общения, который применяется для передачи информационного содержания Интернет беспроводным клиентам, таким, как мобильные телефоны.
    WML - это язык разметки текста, который позволяет создавать страницы, выводимые WAP-браузером.
    Используя данное руководство, Вы научитесь создавать страницы WML. Для изучения этого курса необходимо иметь базовые представления о WWW, HTML, основах создания Web-страниц, JavaScript, XML.
    WAP возник благодаря развитию беспроводной связи.Создателями данного стандарта руководило желание предоставить доступ к информационному содержимому Интернет беспроводным клиентам - обладателям мобильных телефонов.
    Итак, WAP:
  • является сокращением от Wireless Application Protocol (протокол беспроводных приложений);
  • является протоколом прикладного уровня;
  • применяется для доступа к сервисам и информации;
  • опирается на стандарты Интернет;
  • предназначен для небольших устройств, например, для мобильных телефонов;
  • является протоколом, созданным для микро-браузеров;
  • позволяет создавать Web-приложения для мобильных устройств;
  • использует язык разметки WML (а не HTML);
  • определяется как приложение XML 1.0.


  • Что такое WML?

    WML - язык разметки, родственный HTML (но существенно строже, так как в его основе лежит XML) и предназначенный для создания страниц, которые выводит браузер WAP.
    WML является сокращением от Wireless Markup Language (язык разметки для беспроводных устройств).
    В языке WML используется метафора "колоды игральных карт" (card/deck). Страницы в WML называются колодами (deck) или деками, а колоды создаются как наборы карт (card).

    Что такое WMLScript?

    WMLScript является облегченным языком JavaScript, который WML использует для выполнения простого кода на терминале клиента. Однако сценарии WML не встроены в страницы WML - эти страницы содержат только ссылки на URL-адреса сценариев.
    Сценарий WML необходимо скомпилировать на сервере в байт-код, прежде чем браузер сможет его выполнить.

    Форматирование текста

    Карта допускает использование специальных функций WML для форматирования текста:
    обычный
    маленький большой
    жирный
    курсив
    подчеркнутый
    выделенный
    контрастный


    Данный код может иметь следующее представление на экране мобильного телефона (нет никаких гарантий, что все теги форматирования будут выводиться, как ожидается):
    Форматирование текста

    Изображение

    На карте WML можно задать вывод изображения:
    Данное изображение pic внутри параграфа

    Данный код может иметь следующее представление на экране мобильного телефона:
    --------------------- ------ Image ------
    Данное изображение (изображение машины)
    внутри параграфа ---------------------
    .wbmp - это формат изображений, единственно допустимый для вывода в WAP- браузере.

    Колоды и карты WML

    Страницы WML называют колодами (DECKS), которые создаются как наборы карт (CARDS), связанные друг с другом ссылками. Таким образом, когда с мобильного телефона происходит обращение к странице WML, все карты страницы загружаются с сервера WAP и процессор телефона осуществляет перемещение между картами без дополнительного обращения к серверу.

    Колоды и карты

    "Колоды" (или "деки") - так часто называют страницы WML. Они состоят из набора карт. Элемент card (карта) может содержать:
  • текст;
  • разметку;
  • ссылки;
  • поля ввода;
  • задачи;
  • изображения и другие элементы.

  • Карты могут быть связаны друг с другом с помощью ссылок.
    Когда с мобильного телефона происходит обращение к странице WML, все карты страницы загружаются с сервера WAP. Как отмечалось выше, перемещение между картами выполняет процессор телефона без дополнительного обращения к серверу:
    Карта один
    Карта два

    Данный код может иметь следующее представление на экране мобильного телефона (обратите внимание, что выводится только одна карта):
    ------------------------- ------ Первая ------ Карта один --------------------------

    Микро-браузеры WAP

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

    Начальная страница WAP

    Начальная страница WAP мало отличается от начальной страницы HTML. Так же, как и HTML, WAP использует язык разметки WML и его теги, но синтаксис WML строже и соответствует стандарту XML 1.0.
    Страницы WML имеют расширение *.WML, - так же, как страницы HTML имеют расширение *.HTML.

    Параграфы и переносы строк

    На карте WML можно задать вывод параграфа и перенос строки:
    Первый параграф
    Второй параграф
    и перенос строки

    Данный код может иметь следующее представление на экране мобильного телефона:
    ---------------------------- ------ Перенос ------ Первый параграф Второй параграф и перенос строки ---------------------------

    Пример документа WML:

    Это первый абзац.
    Это второй абзац.

    Как можно видеть из этого примера, документ WML является документом XML. DOCTYPE определен как wml, а DTD находится на www.wapforum.org/DTD/wml_1.1.xml. Содержимое документа располагается между тегами .... Каждая карта документа записывается между тегами ..., а параграфы находятся между тегами ...
    . Каждый элементcard имеет id (идентификатор) и title (заголовок).

    Примеры использования WAP

  • Просмотр железнодорожного расписания
  • Покупка билетов на культурные мероприятия
  • Заказ авиабилетов
  • Просмотр информации о движении транспорта
  • Просмотр прогноза погоды
  • Просмотр биржевых котировок
  • Поиск номера телефона
  • Поиск адреса
  • Просмотр спортивных результатов


  • Протокол беспроводных приложений

    Протокол WAP является ведущим стандартом информационных служб беспроводных терминалов, чаще всего цифровых мобильных телефонов, и опирается на стандарты Интернет (HTML, XML и TCP/IP). Его составные части:
  • спецификация языка WML;
  • спецификация WMLScript;
  • спецификация WTAI (Wireless Telephony Application Interface - Интерфейс приложений беспроводного телефона).

  • В 1997 г. компаниями Ericsson, Motorola, Nokia и Unwired Planet был основан консорциумом WAP Forum, который разработал и опубликовал спецификацию WAP. Члены консорциума представляют сейчас более 90% глобального рынка мобильных телефонов, а также ведущих сетевых провайдеров, разработчиков программного обеспечения и других организаций. WAP Forum со временем объединился с организацией Open Mobile Alliance (OMA), созданной в 2002 г., и больше не существует в качестве независимой организации.
    Работа над спецификацией WAP продолжается в рамках OMA, и с ней можно ознакомиться по адресу: http://www.openmobilealliance.org/tech/affiliates/wap/wapindex.html

    Ссылки

    На карте WML можно определить ссылку с помощью тегов анкеров.

    Таблицы

    На карте WML можно задать вывод таблицы:
    Первая Вторая Третья Четвертая


    На экране мобильного телефона может быть отображено следующее:
    -------------------------- ------ Ячейки ----- - Первая Вторая Третья Четвертая --------------------------

    Тег анкера

    Тег всегда выполняет задачу "go" ("перейти"). Данный пример делает то же самое, что и предыдущий:
    Вперед


    Тег анкера

    Тег всегда имеет определенную задачу ("go", "prev", или "refresh"), которая определяет, что делать, когда пользователь нажимает эту ссылку. В данном примере, когда пользователь нажимает ссылку "Вперед", выполняется предписание "перейти (go) к файлу next.wml":
    Вперед


    Теги WML

    Любые теги, которые могли бы замедлить коммуникацию с беспроводными устройствами, не входят в стандарт WML, предназначенный в основном для текста, поэтому использование таблиц и изображений строго ограничено.
    Так как WML является приложением XML, то все теги различают регистр символов ( не то же самое, что ) Важно также, чтобы все теги были правильно закрыты.

    Основы WAP

    Группа полей

    На карте WML можно определить группу полей, которая будут выводиться в рамке с общим заголовком:
    Author:
    Content:


    Данный код может иметь следующее представление на экране мобильного телефона:
    ---------------------------------- ------- Поля -------- О курсе Автор: Содержание: ----------------------------------

    Элемент

    Теги - ...
    На первой карте имеется элемент , который определяет запускаемое событие. Использование атрибута type="accept" данного элемента приводит к выводу в левом нижнем углу экрана метки "Выбор".

    Элементы задач:

    Начальный тег Назначение WML
    Переход к новой карте 1.1
    Говорит, что ничего не надо делать. Используется для переопределения элементов уровня формы 1.1
    Переход к предыдущей карте 1.1
    Обновляет некоторые определенные переменные карты 1.1


    Карты

    Теги - ......
    Карты всегда выводятся по одной. Колода WML из примера выше содержит две карты - одну для ввода пользователя и одну для вывода результатов.

    Колода

    Теги - ......
    Колода является документом WML и помещается между тегами .

    Все права

    Все права
    Все права
    © 2003-2007 INTUIT.ru. Все права защищены.

    Компиляция кода WML

    Для тестирования и компилирования кода WML можно применять бесплатный пакет Nokia Mobile Internet Toolkit (см..http://forum.nokia.com/). Данное программное обеспечение полностью поддерживает спецификацию WAP 2.0, включая XHTML и CSS.
    Если код WML размещается на сервере IIS или Apache, то его не требуется компилировать, т.к. эту работу выполнит шлюз WAP. В этом случае нужно только поместить на сервер исходный код WML.

    Определение переменной с помощью элемента ввода

    Переменные можно задавать также с помощью элемента ввода (например, input, select, option и т.д.).
    В данном примере создается переменная с именем course:

    Созданная в примере выше переменная используется следующим образом:
    Ваш выбор: $(course)


    Определение переменной с помощью команды Setvar

    При выполнении задачи (такой, как go, prev и refresh) элемент setvar можно использовать для задания переменной с определенным значением. Атрибуты name и value являются обязательными для этого элемента.
    В данном примере создается переменная с именем a и значением 100:


    Переменная

    Карта second выводит значение переменной $(course) с карты first- значения переменных сохраняются при перемещении между картами.

    Переменные

    Переменные сохраняют необходимые данные, когда пользователь перемещается в колоде с карты на карту. Необходимо помнить, что в именах переменных WML учитывается регистр символов.

    Поля ввода

    На карте WML можно определить поля для ввода пользователем данных, как показано в следующем примере:
    Surname:
    Name:
    Second name:
    Age:

    Данный код может иметь следующее представление на экране мобильного телефона:
    ----------------------- ----- Поля ---------- Фамилия: Имя : Отчество : Возраст : ----------------------

    Пример WML

    В данном примере показано создание колоды WML с двумя картами: одной для ввода пользователя и одной - для вывода результатов.

    Курс: $(course)

    Данный код может иметь следующий вывод на экране мобильного телефона (первая карта):
    ---------------------------- ----- Курс ---------- Курс по C Курс по C++ Курс по C# Курс по Java Выбор -----------------------------
    Вторая карта может выглядеть следующим образом:
    -------------------------- ----- Выбор ---------- Курс: C++ ---------------------------

    Пролог


    Первые строки документа WML называются прологом. Пролог указывает, что это документ XML, затем определяет версию XML и используемый DTD.

    Проверка кода WML

    Для проверки правильности кода WML можно использовать синтаксический анализатор XML компании Microsoft.

    когда пользователь нажимает на метку

    Элемент срабатывает, когда пользователь нажимает на метку "Выбор". Атрибут href="#second" данного элемента приводит к выводу на экран карты second.

    Таймер

    На карте WML можно использовать функцию таймера WML. Единица измерения времени в таймере равна 1/10 секунды.
    Заголовок

    Данный пример выводит заголовок в течение 10 секунд, а затем происходит переход к файлу "next.wml".

    Выбор варианта

    На карте WML можно определить возможность выбора варианта:


    Данный код может иметь следующее представление на экране мобильного телефона:
    ---------------------------- --- Выбор--- Курс по C Курс по C++ Курс по Java -----------------------------
    В следующем примере показан список выбора, в котором пользователь может отметить более одной позиции:


    Данный код может иметь следующее представление на экране мобильного телефона:
    -------------------------- --- Выбор2--- Курс по C Курс по C++ Курс по Java ---------------------------

    Задача Go

    Данная задача предписывает переход к новой карте.
    Вперед


    Задача Noop

    Noop является сокращением "no operation" - "нет операции". Таким образом, данная задача указывает, что делать ничего не надо, и используется, например, для переопределения элементов навигации между картами колоды.
    Когда пользователь нажимает на экране слово/фразу, задача активизируется - для этого применяется тег :

    Возврата нет

    В данном примере используется тег , чтобы создать на карте ссылку "Возврат". Когда пользователь нажимает ссылку "Возврат", на экране должна была бы появиться предыдущая страница, но тег отменяет эту операцию. Таким образом, когда пользователь нажмет ссылку "Возврат", ничего не произойдет.

    Задача Prev

    Данная задача предписывает возврат к предыдущей карте.
    Назад


    Задача Refresh

    Данная задача обновляет некоторые определенные переменные карты. При этом, если какая-либо из переменных выводится на экране, то экран будет обновлен. Следующий пример использует тег для создания на карте ссылки "Обновить страницу". Когда пользователь нажмет эту ссылку, страница будет перерисована и для переменной a будет задано значение 15:
    Обновить

    В приведенном примере используется тег для создания на карте ссылки "Обновить". Когда пользователь нажмет эту ссылку, страница будет перерисована и для переменной a будет задано значение 15.

    Задачи WML

    Задача определяет действие, которое выполняется при наступлении события - например, входа на карту или нажатия ссылки.

    Основы WAP

    Библиотека WMLScript Dialogs

    Эта библиотека содержит функции, которые выводят предупреждающие сообщения.

    Библиотека WMLScript Float

    Эта библиотека содержит набор математических функций.

    Что такое WML?

    WML - аббревиатура от Wireless Markup Language (язык разметки для беспроводной связи). Это язык разметки, родственный HTML, но основывающийся на XML, и поэтому его синтаксис значительно строже, чем в HTML.
    Язык WML применяется для создания страниц, которые выводятся в браузере WAP.
    Страницы в WML называются колодами (DECKS), которые создаются как наборы карт (CARDS).

    Что такое WMLScript?

    WMLScript - это язык сценариев, которые используются на страницах WML. Он является облегченной версией языка JavaScript.
    Сценарии на этом языке не встраиваются в страницу WML - она содержит только ссылки на адреса URL-сценариев.
    Сценарий WMLScript перед отправкой браузеру WAP компилируется на сервере в байт-код.
    Язык WMLScript является частью спецификации WAP.

    Для чего используют сценарии WMLScript?

  • для идентификации пользователя;
  • локального создания полей сообщений и диалоговых полей, для просмотра сообщений об ошибках и более быстрого получения подтверждения;
  • для доступа к возможностям агента пользователя.


  • Функции библиотеки Dialogs

    ФункцияОписание
    alert()Выводит сообщение и ожидает подтверждение
    confirm()Выводит сообщение и ожидает ответ
    prompt()Выводит сообщение и ожидает ввод


    Функции библиотеки Float

    Библиотека работает только в том случае, когда клиент поддерживает числа с плавающей точкой. Если числа с плавающей точкой не поддерживаются, все функции будут возвращать invalid ("недопустимо").
    ФункцияОписание
    ceil(x)Возвращает ближайшее целое, которое не меньше указанного числа
    floor(x)Возвращает ближайшее целое, которое не больше указанного числа
    int(x)Возвращает целую часть указанного числа
    maxFloat()Возвращает максимально возможное число с плавающей точкой
    minFloat()Возвращает наименьшее возможное число с плавающей точкой
    pow(x,y)Возвращает результат возведения значения x в степень y
    round(x)Округляет число до ближайшего целого
    sqrt(x)Возвращает квадратный корень из числа


    Функция alert()

    Данная функция выводит сообщение, ожидает подтверждение и возвращает пустую строку.
    Синтаксис:
    n = Dialogs.alert(message) Параметр Описание
    N Пустая строка, возвращаемая функцией
    MessageСтрока, содержащая сообщение

    Пример:
    var x = Dialogs.alert("Ошибка!");
    Результат
    x = ""

    Функция ceil()

    Данная функция возвращает ближайшее целое, которое не меньше, чем значение параметра x.
    Синтаксис:
    n = Float.ceil(x) Параметр Описание
    N Целое число, возвращаемое функцией
    X Число

    Пример:
    var x = Float.ceil(2.28); var y = Float.ceil(-1.67); var z = Float.ceil(7.08);
    Результат:
    a = 3 b = -1 c = 7

    Функция confirm()

    Данная функция выводит сообщение, ожидает ответ и возвращает булево значение в зависимости от выбранного пользователем ответа. Если пользователь выбрал значение ok, то возвращаемое значение будет true, а если выбрано cancel, то возвращаемое значение - false.
    Синтаксис:
    n = Dialogs.confirm(message, ok, cancel) Параметр Описание
    N булево значение, возвращаемое функцией
    Messageстрока, содержащая сообщение
    Okстрока, содержащая текст
    cancelстрока, содержащая текст

    Пример:
    var x = Dialogs.confirm("Continue?","Yes","No");
    Результат
    x = true (если выбрано "Yes") x = false (если выбрано "No")

    Функция floor()

    Данная функция возвращает ближайшее целое число, которое не больше параметра x.
    Синтаксис:
    n = Float.floor(x) Параметр Описание
    N Целое число, возвращаемое функцией
    X Число

    Пример:
    var x = Float.floor(1.95); var y = Float.floor(-3.26); var z = Float.floor(2.08);
    Результат:
    x = 1 y = -4 z = 2

    Функция int()

    Данная функция возвращает целую часть параметра x.
    Синтаксис:
    n = Float.int(x) Параметр Описание
    n Целое число, возвращаемое функцией
    x Число

    Пример:
    var x = Float.int(2.15);
    Результат:
    x = 2

    Функция maxFloat()

    Данная функция возвращает максимально возможное число с плавающей точкой.
    Синтаксис:
    n = Float.maxFloat() Параметр Описание
    n Максимально возможное число с плавающей точкой (3.40282347E+38), возвращаемое функцией

    Пример:
    var x = Float.maxFloat(); var y = Float.maxFloat();
    Результат:
    x = 3.40282347E+38 y = 3.40282347E+38

    Функция minFloat()

    Данная функция возвращает наименьшее возможное число с плавающей точкой.
    Синтаксис:
    n = Float.minFloat() Параметр Описание
    n Наименьшее возможное число с плавающей точкой (1.17549435-38), возвращаемое функцией

    Пример:
    var x = Float.minFloat(); var y = Float.minFloat();
    Результат:
    x = 1.17549435-38 y = 1.17549435-38

    Функция pow()

    Данная функция возвращает результат возведения значения х в степень y (x^y).
    Синтаксис:
    n = Float.pow(x,y) Параметр Описание
    N число с плавающей точкой, возвращаемое функцией
    X число
    Y число

    Пример:
    var x = Float.pow(3,1); var y = Float.pow(-3,2);
    Результат:
    a = 3 b = 9

    Функция prompt()

    Данная функция выводит сообщение и ожидает ввод. Второй параметр является вводом по умолчанию, который возвращается, если пользователь не ввел никакого значения. Функция возвращает строку, введенную пользователем, или значение по умолчанию.
    Синтаксис:
    n = Dialogs.prompt(message, defaultinput) Параметр Описание
    N возвращаемая функцией строка
    messageстрока, содержащая сообщение (вопрос)
    defaultinputстрока, содержащая значение по умолчанию (ответ)

    Пример:
    var x = Dialogs.prompt("Ваше число:","7");
    Результат:
    x = "3" (если введено 3) x = "7" (если не введено значение)

    Функция round()

    Данная функция округляет параметр x до ближайшего целого числа.
    Синтаксис:
    n = Float.round(x) Параметр Описание
    N Целое число, возвращаемое функцией
    X Число

    Пример:
    var x = Float.round(2.3); var y = Float.round(4.8);
    Результат:
    x = 2 y = 5

    Функция sqrt()

    Данная функция возвращает квадратный корень параметра x.
    Синтаксис:
    n = Float.sqrt(x) Параметр Описание
    N Число с плавающей точкой, возвращаемое функцией
    X Число

    Пример:
    var x = Float.sqrt(4); var y = Float.sqrt(17.64);
    Результат:
    x = 2 y = 4.2

    Вызов на странице WML сценария WMLScript

    Как уже было сказано, сценарии WMLScripts не встраиваются в страницу WML- эти страницы содержат только ссылки на адреса URL-сценариев.
    Если в следующем примере выбрать метку "Вперед", то внешний сценарий направит пользователя на http://www.intuit.ru/first.wml:

    Строка с тегом go содержит ссылку на сценарий WMLScript, который находится в файле с именем links.wmls. Имя функции - go_url.
    Страница WML с именем links.wmls имеет следующий вид:
    extern function go_url(the_url) { if (the_url=="INTUIT") { WMLBrowser.go("http://www.intuit.ru/first.wml") } }
    Отметим, что функция использует ключевое слово extern. При использовании этого ключевого слова функцию могут вызывать другие функции или события WML вне файла .wmls. Чтобы сохранить функцию приватной, удалите ключевое слово extern.

    Основы WAP

    Функции библиотеки Lang

    ФункцияОписание
    abort()Прерывает выполнение сценария WMLScript и возвращает сообщение клиенту, вызвавшему сценарий
    abs(x)Возвращает абсолютное значение числа
    characterSet()Возвращает множество символов, поддерживаемое интерпретатором WMLScript
    exit()Выходит из сценария WMLScript и возвращает сообщение клиенту, вызвавшему сценарий
    Float()Возвращает булево значение, которое указывает, поддерживаются или нет числа с плавающей точкой
    isFloat()Возвращает булево значение, которое указывает, можно ли значение с помощью функции parseFloat() преобразовать в число с плавающей точкой
    IsInt()Возвращает булево значение, которое указывает, можно ли значение с помощью функции parseInt() преобразовать в целое число
    Max(x,y)Возвращает максимальное из двух значений x и у
    maxInt()Возвращает максимально возможное целое число
    min(x,y)Возвращает минимальное из двух значений x и y
    minInt()Возвращает минимально возможное целое число
    ParseFloat()Возвращает число с плавающей точкой, определенное строкой
    parseInt()Возвращает целое число, определенное строкой
    random(x)Возвращает случайное целое число между 0 и x
    Seed()Инициализирует генератор случайных чисел с помощью заданного числа и возвращает пустую строку

    Примечание
    Имя библиотеки может вводить в заблуждение (более походящим было бы название Math). Однако она называется библиотекой Lang, потому что содержит функции, которые тесно связаны с ядром процессора WMLScript.

    Функция abort()

    Данная функция прерывает сценарий WMLScript и возвращает сообщение клиенту, вызвавшему сценарий.
    Синтаксис:
    Lang.abort(text) ПараметрОписание
    Text Строка

    Пример:
    var a = "Неверно"; Lang.abort("Попробуйте еще раз: " + a);
    Результат:
    Сценарий прерывается, и вызывающему клиенту возвращается строка "Попробуйте еще раз: неверно".

    Функция abs()

    Данная функция возвращает абсолютное значение числа.
    Синтаксис:
    n = Lang.abs(x) ПараметрОписание
    N Абсолютное значение x, возвращаемое функцией
    X Произвольное число

    Пример:
    var x = Lang.abs(-2); var y = Lang.abs(-1.5);
    Результат:
    x = 2 y = 1.5

    Функция characterSet()

    Данная функция возвращает целое число, которое определяет набор символов, поддерживаемый интерпретатором WMLScript.
    Синтаксис:
    n = Lang.characterSet() ПараметрОписание
    N Возвращаемое функцией целое число, которое определяет набор символов

    Пример:
    var x = Lang.characterSet();
    Результат:
    x = 2

    Функция exit()

    Данная функция выходит из сценария WMLScript и возвращает значение value клиенту, вызвавшему сценарий.
    Синтаксис:
    Lang.exit(value) ПараметрОписание
    valueЛюбое значение

    Пример:
    Lang.exit("Получаем 10");
    Результат:
    В данном случае сценарий закончится, и клиенту, вызвавшему сценарий, возвратится строка "Получаем 10".

    Функция float()

    Данная функция возвращает булево значение, указывающее, поддерживаются или нет числа с плавающей точкой.
    Синтаксис:
    n = Lang.float() ПараметрОписание
    nВозвращаемое функцией булево значение. True указывает, что числа с плавающей точкой поддерживаются

    Пример:
    var x = Lang.float();
    Результат:
    var x = false

    Функция isFloat()

    Данная функция возвращает булево значение true, если параметр можно преобразовать в число с плавающей точкой с помощью функции parseFloat(); в противном случае возвращается значение false.
    Синтаксис:
    n = Lang.isFloat(value) ПараметрОписание
    nВозвращаемое функцией булево значение
    valueЛюбое значение

    Пример:
    var r = Lang.isFloat("357"); var s = Lang.isFloat("first"); var t = Lang.isFloat("1.5"); var x = Lang.isFloat(" -3.12e2"); var y = Lang.isFloat("@27"); var z = Lang.isFloat("second");
    Результат:
    r = true s = false t = true x = true y = false z = false

    Функция isInt()

    Данная функция возвращает булево значение true, если параметр можно преобразовать в целое число с помощью функции parseInt(), в противном случае возвращается значение false.
    Синтаксис:
    n = Lang.isInt(value) ПараметрОписание
    nВозвращаемое функцией булево значение
    valueЛюбое значение

    Пример:
    var r = Lang.isInt("145"); var s = Lang.isInt("first"); var t = Lang.isInt("1.5"); var x = Lang.isInt("@27"); var y = Lang.isInt("second"); var z = Lang.isFloat("250");
    Результат:
    r = true s = false t = true x = false y = false z = true

    Функция max()

    Данная функция возвращает число с максимальным значением x и y.
    Синтаксис:
    n = Lang.max(x,y) ПараметрОписание
    nВозвращаемое функцией число
    xЧисло
    yЧисло

    Пример:
    var x = Lang.max(10, 27.5); var y = Lang.max(50, 17.3);
    Результат:
    a = 27.5 b = 50

    Функция maxInt()

    Данная функция возвращает максимально возможное целое число.
    Синтаксис:
    n = Lang.maxInt() ПараметрОписание
    nВозвращаемое функцией максимальное целое число

    Пример:
    var x = Lang.maxInt();
    Результат:
    x = 2147483647

    Функция min()

    Данная функция возвращает минимальное значение чисел x и y.
    Синтаксис:
    n = Lang.min(x,y) ПараметрОписание
    nВозвращаемое функцией число
    xЧисло
    yЧисло

    Пример:
    var x = Lang.min(35, 70.5); var y = Lang.min(25, 15.5);
    Результат:
    x = 35 y = 15.5

    Функция minInt()

    Данная функция возвращает минимально возможное целое число.
    Синтаксис:
    n = Lang.minInt() ПараметрОписание
    nВозвращаемое функцией минимальное целое число

    Пример:
    var x = Lang.minInt();
    Результат:
    a = -2147483648

    Функция parseFloat()

    Данная функция возвращает число с плавающей точкой, определенное строковым значением.
    Анализ строки завершается на первом символе, который невозможно интерпретировать как число с плавающей точкой.
    Синтаксис:
    n = Lang.parseFloat(string) ПараметрОписание
    nЧисло с плавающей точкой, возвращаемое функцией
    stringСтрока

    Пример:
    var x = Lang.parseFloat("150"); var y = Lang.parseFloat(" +1.17e2 Kg"); var z = Lang.parseFloat(" -1.17e2 Kg"); var d = Lang.parseFloat("-.5 C"); var e = Lang.parseFloat("600");
    Результат:
    x = 150.0 y = 1.17e2 z = -1.17e2 d = -0.5 e = 600.0

    Функция parseInt()

    Данная функция возвращает целое число, определяемое строковым значением.
    Анализ строки завершается на первом символе, который не является ведущим "-", "+" или десятичной цифрой.
    Синтаксис:
    n = Lang.parseInt(string) ПараметрОписание
    nЦелое число, возвращаемое функцией
    stringСтрока

    Пример:
    var a = Lang.parseInt("10257"); var b = Lang.parseInt("373 m/s");
    Результат:
    x = 10257 y = 373

    Функция random()

    Данная функция возвращает случайное целое число между 0 и x.
    Синтаксис:
    n = Lang.random(x) ПараметрОписание
    nВозвращаемое функцией случайное целое число
    xЧисло

    Пример:
    var x = Lang.random(8.3);
    Результат:
    x = случайное целое число между 0 и 8

    Функция seed()

    Данная функция с помощью числового параметра инициализирует генератор случайных чисел и возвращает пустую строку.
    Синтаксис:
    n = Lang.seed(number) ПараметрОписание
    nПустая строка, возвращаемая функцией
    numberЧисло

    Пример:
    var x = Lang.seed(3.5);
    Результат:
    x = ""

    Основы WAP

    Функции библиотеки String

    Функция Описание
    charAt()Возвращает символ из указанной позиции
    compare() Сравнивает две строки и возвращает значение, представляющее результат сравнения
    ElementAt() Разбивает строку на элементы и возвращает указанный элемент
    elements()Возвращает количество вхождений в строку указанного значения
    find()Возвращает позицию подстроки в строке
    format()Форматирует значение
    insertAt()Разбивает строку на элементы и вставляет подстроку в указанной позиции индекса
    isEmpty() Проверяет, не является ли строка пустой
    length()Возвращает длину строки
    removeAt()Разбивает строку на элементы и удаляет указанный элемент
    replace() Заменяет часть строки новой строкой
    replaceAt()Разбивает строку на элементы и заменяет указанный элемент
    squeeze() Заменяет в строке все множественные пробелы на одиночные пробелы
    subString()Возвращает указанную часть строки
    toString()Преобразует значение в строку
    trim()Возвращает строку без ведущих и конечных пробелов


    Функция charAt()

    Данная функция возвращает символ из указанной индексной позиции.
    Синтаксис:
    n = String.charAt(string, index) Параметр Описание
    N Строка, возвращаемая функцией
    String Строка
    Index Число, определяющее индексную позицию в строке

    Пример:
    var t = String.charAt("world",3); var x = String.charAt("world",1); var y = String.charAt("world",0); var z = String.charAt("world",15);
    Результат:
    t = "l" x = "o" y = "w" z = ""

    Функция compare()

    Данная функция сравнивает две строки и возвращает значение, представляющее результат сравнения.
    Значения могут быть следующими:
    -1 (если строка1 < строки2) 0 (если строка1 = строке2) 1 (если строка1 > строки2)
    Синтаксис:
    n = String.compare(string1, string2) Параметр Описание
    N Строка, возвращаемая функцией
    string1Строка
    string2Строка

    Пример:
    var x = String.compare("exam","example"); var y = String.compare("example","example"); var z = String.compare("example","exam");
    Результат:
    x = -1 y = 0 z = 1

    Функция elementAt()

    Данная функция разбивает строку на элементы и возвращает элемент в заданной позиции индекса.
    Синтаксис:
    n = String.elementAt(string, index, separator) Параметр Описание
    N Строка, возвращаемая функцией
    StringАнализируемая строка
    IndexЦелое число, определяющее возвращаемую часть
    separatorРазделитель элементов строки

    Пример:
    var r= String.elementAt("Добро пожаловать в INTUIT",1," "); var s= String.elementAt("Добро пожаловать в INTUIT",3," "); var t= String.elementAt("Добро пожаловать в INTUIT",0," "); var x= String.elementAt("Фрукты+Овощи",1,"+"); var y= String.elementAt("Овощи+Фрукты",0,"+"); var z= String.elementAt("Фрукты+Овощи",7,"+");
    Примечание:
  • если индекс окажется отрицательным, то возвращается первый элемент;
  • если индекс окажется слишком большим, возвращается последний элемент.

  • Результат:
    r = "пожаловать" s = "INTUIT" t = "Добро" x = "Овощи" y = "Овощи" z= "Овощи"

    Функция elements()

    Данная функция возвращает количество вхождений в строку указанного значения.
    Синтаксис:
    n = String.elements(string, separator) Параметр Описание
    n Целое число, равное количеству вхождений в строку string значения, которое задано параметром separator
    stringСтрока, в которой осуществляется поиск
    separatorСтроковое значение, которое отыскивается в строке string

    Пример:
    var x = String.elements("Добро пожаловать в INTUIT","а"); var y = String.elements("Добро пожаловать в INTUIT","о"); var z = String.elements("Добро пожаловать в INTUIT"," ");
    Результат:
    x = 2 y = 4 z = 3

    Функция find()

    Данная функция возвращает позицию подстроки в строке.
    Синтаксис:
    n = String.find(string, substring) Параметр Описание
    n Целое число, возвращаемое функцией
    StringСтрока, в которой осуществляется поиск
    substringЗначение, которое отыскивается в строке string

    Пример:
    var x = String.find("example","ex"); var y = String.find("example","pl"); var z = String.find("example","bo");
    Результат:
    x = 0 y = 4 z = 0

    Функция format()

    Данная функция форматирует значение.
    Синтаксис:
    n = String.format(format, value) Параметр Описание
    n Строка, возвращаемая функцией
    formatОпределяет способ форматирования значения. format состоит из трех частей.
  • %width.precision type width - необязательное значение. Определяет минимальное количество выводимых символов.
  • precision - необязательное значение. Задает точность выводимого значения. Может принимать одно из следующих значений:
  • d (минимальное число цифр для вывода. По умолчанию равно 1);
  • f (число со знаком после десятичной точки. По умолчанию равно 6);
  • s (максимальное число цифр для вывода. По умолчанию выводятся все символы).
  • type - Обязательное значение. Определяет, как интерпретируется отформатированное значение. Может принимать одно из следующих значений:
  • d (целое число - выводимое число имеет nd позиций);
  • f (число с плавающей точкой - выводимое число имеет nf десятичных позиций);
  • s (строка - символы выводятся в конце строки или пока не будет достигнуто значение точности)

  • valueФорматируемое значение

    Пример:
    var x = String.format("%1.2f", 1.3); var y = String.format("%2f", 5.675)
    Результат:
    x = "1.30" y = "5.67"

    Функция insertAt()

    Данная функция разбивает строку на элементы и вставляет подстроку в указанной индексной позиции.
    Синтаксис:
    n = String.insertAt(string, substring, index, separator) Параметр Описание
    n Возвращаемая функцией строка
    stringИсходная строка
    substringПодстрока, вставляемая в исходную строку
    indexЦелое число, определяющее позицию для вставки подстроки
    separatorРазделитель

    Пример:
    var x = String.insertAt("Добро пожаловать на INTUIT",",сайт",3," ");
    Результат:
    x = "Добро пожаловать на сайт INTUIT"

    Функция length()

    Данная функция возвращает длину строки.
    Синтаксис:
    n = String.length(string) Параметр Описание
    n Длина строки
    stringСтрока

    Пример:
    var r = String.isEmpty("first"); var s = String.isEmpty("example"); var t = String.isEmpty("90"); var x = String.isEmpty("");
    Результат:
    r = 5 s = 7 t = 2 x = 0

    Функция removeAt()

    Данная функция разбивает строку на элементы и удаляет указанный элемент.
    Синтаксис:
    n = String.removeAt(string, index, separator) Параметр Описание
    n Строка, возвращаемая функцией
    stringИсходная строка
    index Индекс удаляемого элемента
    separator Разделитель

    Пример:
    var a = String.removeAt("Сайт INTUIT",7," "); var b = String.removeAt("Сайт INTUIT ",-1," "); var c = String.removeAt("Сайт INTUIT ",0,"I"); var d = String.removeAt("Сайт INTUIT ",0," ");
    Результат:
    a = "Сайт" b = "INTUIT" c = "NTUIT" d = "INTUIT"

    Функция replace()

    Данная функция заменяет часть строки новой строкой и возвращает результат.
    Синтаксис:
    n = String.replace(string, oldvalue, newvalue) Параметр Описание
    n Строка, возвращаемая функцией
    stringИсходная строка
    oldvalueЗначение, которое будет заменено
    newvalue Значение, которое заменит oldvalue

    Пример:
    var x = String.replace("победа","побе","звез"); var y = String.replace("собака", "ака","оль");
    Результат:
    x = "звезда" y = "соболь"

    Функция replaceAt()

    Данная функция разбивает строку на элементы и заменяет указанный элемент.
    Синтаксис:
    n = String.replaceAt(string, substring, index, separator) Параметр Описание
    n Строка, возвращаемая функцией
    stringИсходная строка
    substringПодстрока, которая заменяет указанный элемент в исходной строке
    indexЦелое значение, которое определяет, где поместить substring
    separator Разделитель

    Пример:
    var x = String.replaceAt("Это INTUIT","Сайт ",0," "); var y = String.replaceAt("Курсы INTUIT","Образование можно получить в",0," ");
    Результат:
    x = "Сайт INTUITL" y = "Образование можно получить в INTUIT"

    Функция squeeze()

    Данная функция заменяет в строке все множественные пробелы одиночными пробелами.
    Синтаксис:
    n = String.squeeze(string) Параметр Описание
    n Строка, возвращаемая из функции
    stringСтрока

    Пример:
    var x = String.squeeze("Добро пожаловать в INTUIT\r\n");
    Результат:
    x = "Добро пожаловать в INTUIT "

    Функция subString()

    Данная функция возвращает указанную часть строки.
    Синтаксис:
    n = String.subString(string, start, length) Параметр Описание
    n Новая строка, возвращаемая функцией
    StringИсходная строка
    Start Начальная позиция
    LengthДлина новой строки

    Пример:
    var r = String.subString("INTUIT",1,3); var s = String.subString("INTUIT",3,1); var t = String.subString("INTUIT",0,3); var x = String.subString("INTUIT",4,2); var y = String.subString("INTUIT",8,9); var z = String.subString("INTUIT",2,4);
    Результат:
    r = "NTU" s = "U" t = "INT" x = "IT" y = "" z = "TUIT"

    Функция toString()

    Данная функция преобразует значение в строку.
    Синтаксис:
    n = String.toString(value) Параметр Описание
    n Строка, возвращаемая функцией
    valueЛюбое значение

    Пример:
    var x = String.toString(120); var y = String.toString(INTUIT);
    Результат:
    x = "120" y = "INTUIT"

    Функция WMLScript isEmpty()

    Данная функция возвращает true, если строка пустая, в противном случае значение будет false.
    Синтаксис:
    n = String.isEmpty(string) Параметр Описание
    n Булево значение, возвращаемое функцией
    stringСтрока

    Пример:
    var r = String.isEmpty("first"); var s = String.isEmpty("example"); var t = String.isEmpty("exam"); var x = String.isEmpty("");
    Результат:
    r = false s = false t = false x = true

    Функция WMLScript trim()

    Данная функция возвращает строку без ведущих и конечных пробелов.
    Синтаксис:
    n = String.trim(string) Параметр Описание
    n Строка, возвращаемая функцией
    stringСтрока

    Пример:
    var x = String.trim(" Добро пожаловать в INTUIT! ");
    Результат:
    x = "Добро пожаловать в INTUIT!"

    Основы WAP

    Библиотека WMLBrowser

    Эта библиотека содержит функции, которые используются для доступа к переменным браузера.
    Функция Описание
    getCurrentCard() Возвращает (относительный) адрес URL текущей карты
    getVar() Возвращает значение переменной
    Go() Переход к новой карте
    NewContext() Очищает все переменные
    prev()Переход к предыдущей карте
    refresh() Обновляет текущую карту
    setvar() Задает значение переменной

    Примечание
    Спецификация WML говорит, что обращения к функциям (этой? - Ред.) библиотеки, которые не поддерживаются браузером, должны возвращать invalid. В связи с этим во всех приведенных выше функциях требуется проверять возвращаемое значение и, в случае получения invalid , предпринимать необходимые действия.

    Фугкция resolve()

    Данная функция возвращает абсолютный адрес URL на основе указанных базового и относительного адресов url.
    Синтаксис:
    n = URL.resolve(baseurl, relativeurl) Параметр Описание
    nСтрока, возвращаемая функцией
    baseurlСтрока (базовый url)
    relativeurlСтрока (относительный url)

    Пример:
    var x =URL.resolve("http://www.intuit.ru", "/wml/speciality/help.wml");
    Результат:
    x = "http://www.intuit.ru/wml/speciality/help.wml"

    Функции библиотеки URL

    ФункцияОписание
    escapeString()Заменяет специальные символы в URL управляющей последовательностью
    getBase()
    getFragment() Возвращает фрагмент URL
    getHost() Возвращает хост, определенный в URL
    getParameters() Возвращает параметры в последнем сегменте пути доступа URL
    getPath() Возвращает путь доступа, определенный в URL
    getPort() Возвращает номер порта, определенный в URL
    getQuery() Возвращает из URL запрос
    getReferer()
    getScheme() Возвращает из URL схему
    isValid() Возвращает true, если синтаксис URL правильный, и false в противном случае
    loadString() Возвращает содержимое и тип содержимого, указанного URL
    resolve() Возвращает абсолютный адрес URL на основе базового и относительного адресов URL
    unescapeString() Заменяет управляющие последовательности в URL на символы


    Функция escapeString()

    Данная функция заменяет специальные символы в URL управляющей последовательностью и возвращает результат.
    Синтаксис:
    n = URL.escapeString(url) Параметр Описание
    nСтрока, возвращаемая функцией
    urlСтрока

    Пример:
    var x = URL.escapeString("http://www.intuit.ru/wml/");
    Результат:
    x = "http%3a%2f%2fwww.intuit.ru%2fwml%2f"

    Функция getCurrentCard()

    Данная функция возвращает относительный адрес URL текущей карты.
    Синтаксис:
    n = WMLBrowser.getCurrentCard() Параметр Описание
    nСтрока, возвращаемая функцией

    Пример:
    var x = WMLBrowser.getCurrentCard();
    Результат:
    x = "first#help"

    Функция getFragment()

    Данная функция возвращает фрагмент url с параметром.
    Синтаксис:
    n = URL.getFragment(url) Параметр Описание
    nСтрока, возвращаемая функцией
    urlСтрока

    Пример:
    var x = URL.getFragment("http://www.intuit.ru/wml#help"); var y = URL.getFragment("http://www.intuit.ru/wml");
    Результат:
    x = "help" y = ""

    Функция getHost()

    Данная функция возвращает хост (адрес интернет-узла), определенный в параметре url.
    Синтаксис:
    n = URL.getHost(url) Параметр Описание
    nСтрока, возвращаемая функцией
    urlСтрока

    Пример:
    var a = URL.getHost("http://www.intuit.ru/wml"); var b = URL.getHost("/help/speciality");
    Результат:
    a = "www.intuit.ru" b = ""

    Функция getParameters()

    Данная функция возвращает параметры из последнего сегмента пути доступа параметра url.
    Синтаксис:
    n = URL.getParameters(url) Параметр Описание
    nСтрока, возвращаемая функцией
    urlСтрока

    Пример:
    var a = URL.getParameters("http://www.intuit.ru/speciality;help"); var b = URL.getParameters("http://www.intuit.ru/help");
    Результат:
    a = "help" b = ""

    Функция getQuery()

    Данная функция возвращает часть URL, содержащую запрос.
    Синтаксис:
    n = URL.getQuery(url) Параметр Описание
    nСтрока, возвращаемая функцией
    urlСтрока

    Пример:
    var x =URL.getQuery("http://www.intuit.ru/go.asp?name=user"); var y =URL.getQuery("http://www.intuit.ru");
    Результат:
    x = "user" y = ""

    Функция getVar()

    Данная функция возвращает значение, указанное переменной в контексте браузера. Если переменная не существует, функция возвращает пустую строку ("").
    Синтаксис:
    n = WMLBrowser.getVar(variable) Параметр Описание
    nСтрока, возвращаемая функцией
    variableСтрока

    Пример:
    var x = WMLBrowser.getVar("days");
    Результат:
    x = "365"

    Функция go()

    Данная функция осуществляет переход к новой карте (определенной новым URL) и возвращает пустую строку.
    Синтаксис:
    n = WMLBrowser.go(url) Параметр Описание
    nСтрока, возвращаемая функцией
    urlСтрока

    Пример:
    var x = WMLBrowser.go(first);
    Результат:
    x = ""

    Функция newContext()

    Данная функция очищает все переменные контекста WML и возвращает пустую строку.
    Синтаксис:
    n = WMLBrowser.newContext() Параметр Описание
    nПустая строка, возвращаемая функцией

    Пример:
    var x = WMLBrowser.newContext();
    Результат:
    x = ""

    Функция prev()

    Данная функция предписывает браузеру WML вернуться к предыдущей карте WML и возвращает пустую строку.
    Синтаксис:
    n = WMLBrowser.prev() Параметр Описание
    nПустая строка, возвращаемая функцией

    Пример:
    var x = WMLBrowser.prev();
    Результат:
    x = ""

    Функция refresh()

    Данная функция обновляет текущую карту и возвращает пустую строку, если обновление прошло успешно, - или непустую строку, если обновление неудачно.
    Синтаксис:
    n = WMLBrowser.refresh() Параметр Описание
    nСтрока, возвращаемая функцией

    Пример:
    var x = WMLBrowser.setVar("week",25); var y = WMLBrowser.refresh();
    Результат:
    x = true y = ""

    Функция unescapeString()

    Данная функция заменяет управляющие последовательности в URL на закодированные ими символы.
    Синтаксис:
    n = URL.unescapeString(string) Параметр Описание
    nСтрока, возвращаемая функцией
    stringСтрока

    Пример:
    var x =URL.unescapeString("http%3a%2f%2fwww.intuit.ru%2wml");
    Результат:
    x = "http://www.intuit.ru/wml"

    Функция WMLScript getPath()

    Данная функция возвращает путь доступа, определенный в параметре url.
    Синтаксис:
    n = URL.getPath(url) Параметр Описание
    nСтрока, возвращаемая функцией
    urlСтрока

    Пример:
    var x = URL.getPath("http://www.intuit.ru/speciality/help.htm"); var y = URL.getPath("http://www.intuit.ru");
    Результат:
    x = "/speciality/help.htm" y = ""

    Функция WMLScript getPort()

    Данная функция возвращает номер порта, определенный в параметре url.
    Синтаксис:
    n = URL.getPort(url) Параметр Описание
    nСтрока, возвращаемая функцией
    urlСтрока

    Пример:
    var x = URL.getPort("http://www.intuit.ru:80"); var y = URL.getPort("http://www.intuit.ru");
    Результат:
    x = "80" y = ""

    Функция WMLScript getScheme()

    Данная функция возвращает схему, указанную в URL.
    Синтаксис:
    n = URL.getScheme(url) Параметр Описание
    nСтрока, возвращаемая функцией
    urlСтрока

    Пример:
    var x = URL.getScheme("www.intuit.ru"); var y = URL.getScheme("http://www.intuit.ru"); var z = URL.getScheme("ftp://www.intuit.ru");
    Результат:
    x = "" y = "http" z = "ftp"

    Функция WMLScript isValid()

    Данная функция возвращает булево значение true, если указанный URL имеет правильный синтаксис, или значение false - в противном случае.
    Синтаксис:
    n = URL.isValid(url) Параметр Описание
    nБулево значение, возвращаемое функцией
    urlСтрока

    Пример:
    var x = URL.isValid("http://www.intuit.ru!!!!"); var y = URL.isValid("http:www.intuit.ru"); var z = URL.isValid("http://www.yandex.ru");
    Результат:
    x = "false" y = "false" z = "true"

    Функция WMLScript setVar()

    Данная функция задает значение указанной переменной в контексте браузера и возвращает true, если новое значение было успешно задано, и значение false - в противном случае.
    Синтаксис:
    n = WMLBrowser.setVar(variable, value) Параметр Описание
    nБулево значение, возвращаемое функцией
    VariableСтрока
    ValueСтрока

    Пример:
    var x = WMLBrowser.setVar("day", 15);
    Результат:
    x = true

    Основы WAP

    Элементы изображений

    Начальный тег Назначение WML
    Определяет изображение 1.1


    Элементы колоды/карт:

    Начальный тег Назначение WML
    Определяет данные управления доступом к колоде 1.1
    Определяет карту в колоде1.1
    Содержит данные о документе1.1
    Определяет метаданные документа1.1