Ответы на эти и многие другие аналогичные вопросы можно узнать на сайте 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 можно задать вывод изображения: Данное изображение внутри параграфа
Данный код может иметь следующее представление на экране мобильного телефона:
--------------------- ------ 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). Его составные части:
В 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", "prev", или "refresh"), которая определяет, что делать, когда пользователь нажимает эту ссылку. В данном примере, когда пользователь нажимает ссылку "Вперед", выполняется предписание "перейти (go) к файлу next.wml": Вперед
Теги WML
Любые теги, которые могли бы замедлить коммуникацию с беспроводными устройствами, не входят в стандарт WML, предназначенный в основном для текста, поэтому использование таблиц и изображений строго ограничено. Так как WML является приложением XML, то все теги различают регистр символов ( не то же самое, что ) Важно также, чтобы все теги были правильно закрыты.
Основы WAP
Группа полей
На карте WML можно определить группу полей, которая будут выводиться в рамке с общим заголовком:
Данный код может иметь следующее представление на экране мобильного телефона:
---------------------------------- ------- Поля -------- О курсе Автор: Содержание: ----------------------------------
Элемент
Теги - ... На первой карте имеется элемент , который определяет запускаемое событие. Использование атрибута type="accept" данного элемента приводит к выводу в левом нижнем углу экрана метки "Выбор".
Элементы задач:
Начальный тег Назначение WML
Переход к новой карте
1.1
Говорит, что ничего не надо делать. Используется для переопределения элементов уровня формы
1.1
Переход к предыдущей карте
1.1
Обновляет некоторые определенные переменные карты
1.1
Карты
Теги - ...... Карты всегда выводятся по одной. Колода WML из примера выше содержит две карты - одну для ввода пользователя и одну для вывода результатов.
Колода
Теги - ...... Колода является документом 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
Определяет шаблон кода всех карт колоды
1.1
Определяет колоду WML (корень WML)
1.1
Определяет комментарий
1.1
Элементы переменных
Начальный тег Назначение WML
Задает переменную с определенным значением в задаче , или
1.1
Определяет таймер карты
1.1
Элементы событий
Начальный тег Назначение WML
Активирует задачу, когда пользователь нажимает на экране на слово/фразу
1.1
Содержит код, который выполняется, когда происходит одно из следующих событий: onenterbackward, onenterforward, onpick, ontimer
1.1
Содержит данные, которые посылаются на сервер вместе с тегом
1.1
Элементы текста
Начальный тег Назначение WML
Определяет перенос строки
1.1
Определяет параграф
1.1
Определяет таблицу
1.1
Определяет ячейку таблицы (данные таблицы)
1.1
Определяет строку таблицы
1.1
Элементы ввода
Начальный тег Назначение WML
Используется для объединения на карте связанных элементов в группу
1.1
Определяет поле ввода (текстовое поле, в которое пользователь может вводить текст)
1.1
Определяет группу позиций в списке выбора
1.1
Определяет позицию в списке выбора
1.1
Определяет список выбора
1.1
Элементы задач
Начальный тег Назначение WML
Переход к новой карте
1.1
Отсутствие операции. Используется для переопределения элементов навигации между картами колоды
1.1
Переход к предыдущей карте
1.1
Обновляет указанные переменные карты. Если эти переменные выводятся на экран, то экран также обновляется
1.1
Символьные объекты
Результат Описание Имя объекта Номер объекта
&
амперсанд
&
&
'
апостроф
'
'
>
знак больше
>
>
<
знак меньше
<
<
неразрывный пробел
"
знак кавычки
"
"
знак переноса
Ссылки (анкеры)
Начальный тег Назначение WML
Определяет анкер (ссылку)
1.1
Определяет анкер (ссылку)
1.1
Тег
Данный тег определяет данные управления доступом к колоде WML. Примечания:
если тег не задан, то любые другие колоды/карты могут получить доступ к колоде;
тег всегда находится внутри тега
. Каждая колода может иметь только один тег .
Синтаксис: Атрибуты:
Атрибут Значение Описание
Domain
cdata
URL других колод, которые могут обращаться к картам в этой колоде
Path
cdata
URL других колод, которые могут обращаться к картам в этой колоде
Class
cdata
Задает имя класса элемента. В имени класса регистр символов различается. Элемент может быть связан с несколькими классами. Имена нескольких классов в атрибуте class разделяются пробелом
id
id
Задает уникальное имя элемента
Примеры Доступ разрешен только для других колод/карт на www.intuit.ru/departament:
Доступ разрешен только для других колод/карт на www.intuit.ru/help:
Обязательный атрибут. Определяет место перехода, когда пользователь выбирает ссылку
title
cdata
Задает текст, определяющий ссылку
xml:lang
language_code
Задает используемый в элементе язык
class
cdata
Задает имя класса элемента. В имени класса регистр символов различается. Элемент может быть связан с несколькими классами. Имена нескольких классов в атрибуте class разделяются пробелом
Данный тег определяет анкер (ссылку), который позволяет переходить с одной карты/колоды на другую. Всегда имеет присоединенную задачу ("go", "prev" или "refresh"), которая указывает, что делать, когда пользователь нажимает на ссылку. Примечания:
везде, где можно, необходимо использовать вместо тега анкер ;
Задает имя класса элемента. В имени класса регистр символов различается. Элемент может быть связан с несколькими классами. Имена нескольких классов в атрибуте class разделяются пробелом
id
id
Задает уникальное имя элемента
Пример: Назад
Тег
Данный тег определяет перенос строки. Синтаксис:
Атрибуты
Атрибут Значение Описание
xml:lang
language_code
Задает используемый в элементе язык
class
cdata
Задает имя класса элемента. В имени класса регистр символов различается. Элемент может быть связан с несколькими классами. Имена нескольких классов в атрибуте class разделяются пробелом
Id
id
Задает уникальное имя элемента
Пример: Абзац не имеет переноса строки Абзац имеет перенос строки
Тег
В колоде WML есть одна или несколько карт, для определения которых используется данный тег. Карта может содержать текст, разметку, ссылки, поля, задачи, изображения и другие элементы. Примечание: атрибут "id" элемента card может использоваться в качестве анкера. Синтаксис: ..поля.. ..разметка.. ..текст.. ..ссылки.. Атрибуты
Атрибут Значение Описание
newcontext
true false
Реинициализирует контекст браузера. По умолчанию имеет значение "false"
ordered
true false
Определяет порядок содержимого карты. Когда ordered задан как "true", браузер будет выводить содержимое в фиксированном порядке. Когда ordered задан как "false", пользователи будут определять порядок по мере перемещения по содержимому. По умолчанию - "true"
title
cdata
Заглавие карты
xml:lang
language_code
Задает используемый в элементе язык
onenterbackward
url
Возникает, когда пользователь перемещается на карту с помощью задачи "prev"
onenterforward
url
Возникает, когда пользователь перемещается на карту с помощью задачи "go"
ontimer
url
Возникает, когда истекает время таймера
class
cdata
Задает имя класса элемента. В имени класса регистр символов различается. Элемент может быть связан с несколькими классами. Имена нескольких классов в атрибуте class разделяются пробелом
id
id
Задает уникальное имя элемента
Пример: Это карта first Это карта second
Тег
Данный тег можно использовать для активации задачи во время нажатия пользователем на экране слова/фразы, а также можно помещать внутри тега . Тег будет затем использован для всех карт в колоде. Синтаксис: ..задача.. Атрибуты
Атрибут Значение Описание
type
accept prev help reset options delete unknown x-* vnd.*
Обязательный атрибут. Определяет тип элемента "do"
label
Cdata
Создает метку для элемента "do"
name
Nmtoken
Определяет имя элемента "do"
optional
true false
Если задано значение true, то браузер игнорирует этот элемент, если false - то не игнорирует. По умолчанию используется "false"
xml:lang
language_code
Задает язык, используемый в элементе
class
Cdata
Задает имя класса элемента. В имени класса регистр символов различается. Элемент может быть связан с несколькими классами. Имена нескольких классов в атрибуте class разделяются пробелом
id
Id
Задает уникальное имя элемента
Пример: Карта один Карта два
В этом примере используется тег внутри тега , чтобы создать ссылку "Назад" на каждой карте. Примечание: Если один элемент содержит несколько элементов с атрибутом type="accept" и эти элементы не именованы, то WML может не выполнить компиляцию и страница не будет выводиться. Причина в том, что по умолчанию, когда имя не определено, в его качестве используется тип элемента, а в данном случае - это accept.