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>