WAP - синтаксис WML
Самый верхний уровень в архитектуре WAP состоит из WAE (Wireless Application Environment), который состоит из языков сценариев WML и WML.
Язык сценариев WML используется для разработки приложений, которые отправляются через беспроводные устройства, такие как мобильные телефоны. Этот язык заботится о маленьком экране и низкой пропускной способности передачи. WML - это приложение XML, которое определяется в определении типа документа.
Страницы WML называются колодами. Они построены в виде набора карточек, связанных друг с другом ссылками. Когда доступ к WML-странице осуществляется с мобильного телефона, все карточки на странице загружаются с WAP-сервера на мобильный телефон с отображением содержимого.
Команды и синтаксис WML используются для отображения содержимого и перехода между карточками. Разработчики могут использовать эти команды для объявления переменных, форматирования текста и отображения изображений на мобильном телефоне.
Структура программы WAP
Программа WML обычно делится на две части: document prolog и body. Рассмотрим следующий код -
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card>
...
</card>
...more cards...
</wml>
В первой строке этого текста говорится, что это документ XML и его версия 1.0. Во второй строке выбирается тип документа и указывается URL-адресdocument type definition (DTD). Это DTD дает полное XML-определение WML. Указанное DTD определено в WAP 1.1, но этот заголовок изменяется в зависимости от версии WML. Заголовок должен быть скопирован точно, чтобы наборы инструментов автоматически генерировали этот пролог.
Тело заключено в пару тегов <wml> ... </wml>, как показано выше. Тело документа WML может состоять из одного или нескольких из следующих:
Deck
Card
Контент для показа
Инструкции по навигации
Команды WML
Команды, используемые в WML, резюмируются следующим образом:
Форматирование
Команда | Описание |
---|---|
<p> | Пункт |
<b> | Смелый |
<большой> | Большой |
<em> | Подчеркнуто |
<I> | Выделено курсивом |
<маленький> | Небольшой |
<strong> | Сильно подчеркнутый |
<u> | Подчеркнутый |
<br> | Разрыв строки |
Вставка изображений
<img src="image-path/image - name" alt="Picture not available" />
Использование таблиц
Команда | Описание |
---|---|
<таблица> | Определение таблицы |
<tr> | Определение строки |
<td> | Определение столбца |
<Голова> | Заголовок таблицы |
Переменные
Заявлено как -
<setvar name="x" value="xyz"/>
Используется как -
$ identifier or
$ (identifier) or
$ (Identifier; conversion)
Формы
Команда | Описание |
---|---|
<выбор> | Определите один или несколько списков |
<вход> | Ввод от пользователя |
<вариант> | Определяет параметр в списке для выбора |
<fieldset> | Определяет набор полей ввода |
<optgroup> | Определяет группу опций в выбираемом списке |
Элементы задачи
Команда | Описание |
---|---|
<go> | Представляет действие переключения на новую карту |
<noop> | Говорит, что ничего не надо делать |
<prev> | Представляет действие возврата к предыдущей карточке |
<обновить> | Обновляет некоторые указанные переменные карты. |
События
Различные события заключаются в следующем -
Команда | Описание |
---|---|
<do> | Определяет обработчик события do |
<событие> | Определяет обработчик событий onevent |
<postfield> | Определяет обработчик событий postfield |
<ontimer> | Определяет обработчик события ontimer |
<onenterforward> | Определяет обработчик onenterforward |
<дальше назад> | Определяет обработчик onenterbackward |
<выбор> | Определяет обработчик события onpick |
Пример программы WML
Сохраните следующий код WML в файле info.wml на своем сервере. Если на вашем сервере включен WAP, вы можете получить доступ к этой странице с любого устройства WAP.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<!-- WML prolog.declaration of file type and version>
<wml>
<!-- Declaration of the WML deck>
<card id="info" newcontext="true">
<!-- declaration of a card in deck>
<p align="center"><b>Information Center</b></p>
<!--paragraph declaration to display heading>
<p>
<!--paragraph declaration to display links>
<a href="Movie.wml">1. Movies info.</a>
<a href="Weather.wml">2. Weather Info.</a>
<!--declaration of links for weather and movies>
</p>
</card>
<!-- card end>
</wml>
<!-- program end>