Деки
Дека определяется элементом wml:
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.com/DTD/wml_1.1.xml"> <wml> <card> <p>Hello World!</p> </card> </wml>
Делаем wap-сайт сами
Если у вас есть сотовый телефон, а у него есть wap-браузер + желательно технология GPRS, то вы можете смело просматривать wap-сайты.
1. СОЗДАНИЕ WAP-САЙТА. ПОДГОТОВКА.
Писать код программы можно в различных wap-редакторах или в обычном «Блокноте».
Можно будет скачать wap-редактор Waptor. И заодно сразу скачайте специальный графический редактор для создания картинок в формате WBMP (именно этот формат картинок используется для wap-графики, а не JPEG или GIF.) Он называется WAPDraw. Работать в этих программах легко. В них мало команд и сложно запутаться.
Редактор WAP-сайтов Waptor.
Скачать: http://www.tromex.ru/dosug/waptor3.exe
Размер: 1181 КБ
Графический WAP-редактор.
Скачать: http://www.tromex.ru/dosug/wapdraw131.zip
Размер: 257 КБ
2. СОЗДАНИЕ WAP-САЙТА. НАЧАЛО РАБОТЫ.
Первая проблема, с которой вы столкнетесь, будет невозможность создания WAP-сайта на русском языке. Вы можете сделать все пункты меню транслитом, но это не спасет положения.
В зависимости от оператора сотовой связи, ваш сайт будет отображен по-разному. Выход один – набирать русский текст не русскими буквами, а их кодами. Т.е. русской букве «А» будет соответствовать код А. А слову «САЙТ» будет соответствовать такая последовательность САЙТ
Вот и оказывается, что создание WAP-сайта не такое простое дело!
3. СОЗДАНИЕ WAP-САЙТА. ПЕРЕВОД БУКВ В КОДЫ.
Чтобы не переводить каждую русскую букву в соответствующий код, надо установить HTML-редактор FrontPage (или другой). Создать в нем новую страницу и на вкладке СВОЙСТВА СТРАНИЦЫ=>ЯЗЫК=>Сохранить документ как: (выбрать из списка) US/Western Europan.
Теперь в обычном режиме набирайте русский текст, а потом смотрите HTML код. Там все буквы уже будут переведены.
4. СОЗДАНИЕ WAP-САЙТА. ПОДГОТОВКА В РЕДАКТОРЕ
Мы рекомендуем вначале создать весь WAP-сайт на языке HTML в редакторе FrontPage, а потом перевести в язык WML. Для этого создайте таблицу 100*80. Так примерно будет выглядеть ваш экран телефона.
И в этой таблице делайте меню, переходы на другие страницы, вставляйте картинки. Сделайте полностью HTML-сайт.
5. СОЗДАНИЕ WAP-САЙТА. WAP-РЕДАКТОР
Наберите необходимый заголовок:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="Menu" title="Menu">
<p>
Cюда вставляйте текст (т.е. коды букв) из FrontPage. Можете вставлять даже вместе с HTML-тегами <b>, <u>, <i>, <s>, <br> и другими (они совпадают с тегами языка WML). Только <br> поменяйте на <br/>.
</p>
</card>
</wml>
Сохраните файл с расширением wml. Ваша первая wap-страница готова.
6. СОЗДАНИЕ WAP САЙТА. ЗАКАЧКА В ИНТЕРНЕТ.
Опубликуйте свой сайт в Интернет и откройте на сотовом телефоне, указав полный адрес.
Теперь вместо кодов вы увидите нормальный русский текст! Поздравляем! :) Сайт Вы можете опубликовать на одном из бесплатных сервероов: newmail.ru; narod.ru; chat.ru и т.д. (о регистрации читайте на соответствующих сайтах).
7. СОЗДАНИЕ WAP-САЙТА. СОЗДАНИЕ КАРТИНОК.
Вы можете воспользоваться графическим редактором WAPDraw. Выберите в нем нужный размер картинки и нажмите «Ok». Теперь можете рисовать. Редактор сохраняет рисунки с разрешением WBMP. Именно оно используется для wap-графики. Но вы можете не рисовать картинки этом редакторе вручную, а создать картинку в любом графическом редакторе, а потом копировать в WAPDraw.
8. СОЗДАНИЕ WAP-САЙТА. ЗАКЛЮЧИТЕЛЬНЫЙ МОМЕНТ.
Не делайте wap-страницу более 4 Кб, иначе она просто не загрузится в телефон. Подписывайте все картинки. Вставляйте больше графики (это радует глаз). Живите ONLINE! Успехов в освоении WAP-технологий!
Пограммы для создания wap-сайта
WapTrans - программа для автоматического преобразования символов кириллицы в коды
Скачать: http://download.wapservis.ru/waptrans.exe
Размер: 237 КБ
Waptor - редактор wap-сайтов
Скачать: http://www.tromex.ru/dosug/waptor3.exe
Размер: 1181 КБ
Редактор wap-графики - программа для редактирования графики и сохранения в специальном формате для wap-сайтов
Скачать: http://www.tromex.ru/dosug/wapdraw131.zip
Размер: 257 КБ
WinWap - wap-эмулятор - браузер для просмотра wap-сайтов в Windows
Скачать: http://www.winwap.org/winwap/down/download_pro.html
Размер: 3,13 МБ
« Назад |Содержание
Тип события, которое будет обрабатываться
Элемент:
Onevent
Атрибуты:
type - Тип события, которое будет обрабатываться
Существует четыре типа событий:
onenterbackward
Сработает при выборе элемента "prev"
onenterforward
Сработает при вызове карты
onpick
Сработает при выборе опции в списке элемента "select"
ontimer
Сработает по истечении времени у элемента "timer".
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.com/DTD/wml_1.1.xml">
<wml>
<card id="start">
<do type="accept">
<go href="two"/>
</do>
<p>Choose Accept.</p>
</card>
<card id="two">
<do type="accept">
<go href="three"/>
</do>
<onevent type="onenterbackward">
<prev/>
</onevent>
<p>Choose Accept</p>
</card>
<card id="three">
<do type="accept">
<prev/>
</do>
<p>Choose Accept.</p>
</card>
</wml>
« Назад |Содержание | Далее »
Сайт: http://www.natahaus.ru/
Структура
Элемент:
Access
Атрибуты:
domain - имя домена для запрета доступа. Микроброузер будет просматривать и сравнивать со значением этого атрибута все имена доменов встречающиеся в документе. Так если "" броузер сможет зайти на "http://www.motorola.com/", но не сможет зайти на "http://www.rola.com/" или на "http://www.motorola.net/".
path - путь для сравнения. Работает примерно так же как и атрибут домен. Так если "" путь "/internal/wml" пройдет проверку, в то время как "/internal-wml" - нет.
Элемент "access" с примерно такими атрибутами: "" разрешит ссылку на деку только со следующих адресов:
http://www.motorola.com/spin/getuid.cgi
https://www.motorola.com/spin/index.wml
http://www.motorola.com/spin/madk/create_index.cgi?x=123&y=234
А с этих запретит:
http://www.mot.com/spin/getuid.cgi
http://www.motorola.com/internal/spin/getuid.cgi
Элемент:
Card
События:
onenterbackward
Сработает при выборе элемента "prev"
onenterforward
Сработает при вызове карты
ontimer
Сработает по истечении времени у элемента "timer".
Атрибуты:
id - атрибут, позволяющий сослаться на эту карточку из других элементов. Ссылка на карточку состоит из символа "#" и значения ее атрибута id (#nextcard).
title - значение этого атрибута может быть использовано для озаглавливания экрана, в котором отображается карточка, а также может появится в списке ранее посещенных страниц, а также в любом другом месте по усмотрению микроброузера.
newcontext - может быть использован для того, чтобы сбросить состояние деки. Этот атрибут может иметь значение "true" или "false".
ordered - сообщает микроброузеру принадлежит ли эта карта к упорядоченному списку карт или нет. Разработчики могут использовать этот атрибут по своему усмотрению и разрабатывать либо деку с последовательным просмотром карточек, либо состоящую из одной большой карточки.
Немного более сложная дека в качестве примера:
<?xml version="1.0"?>
<! DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
<access domain="motorola.com" path="/spin"/>
</head>
<template>
<do type="accept" name="accept1" label="OK">
<go href="#accept"/>
</do>
</template>
<card id="start" title="Start Here">
<p>
Start Here.
</p>
</card>
<card id="accept" title="Okay Card">
<do type="accept" name="accept1" label="Okay">
<go href="#accept2"/>
</do>
<p>
Card Accept
</p>
</card>
<card id="accept2" title="OK Card" >
<do type="accept" >
<go href="#start" />
</do>
<p>
Card Accept2
</p>
</card>
</wml>
Таймер
Элемент:
timer
Атрибут:
value - промежуток времени в десятых долях секунды.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="first" ontimer="#next">
<timer value="100"/>
<p>Wait ten seconds</p>
</card>
<card id="next">
<timer value="10"/>
<onevent type="timer">
<go href="#first"/>
</onevent>
<p>Подождите минутку</p>
</card>
</wml>
Технология WAP
Wireless Application Protocol (WAP) представляет собой набор языков и инструментов, образующих инфраструктуру для внедрения новых услуг мобильной связи. К традиционным услугам мобильной связи относятся прежде всего такие сервисы, как обыкновенные звонки и короткие текстовые сообщения (SMS-сообщения в сети GSM). Но, как показывает практика, все это не так уж удобно, да и не очень дружественно по отношению к пользователю. WAP существенно расширяет набор таких услуг, позволяя внедрять сервисы, схожие с теми, что предлагаются в World Wide Web.
Стек протоколов WAP основан на классической семиуровневой модели OSI (Open System Interconnection) и включает в себя четыре основные составляющие и одну спецификацию самого высокого уровня - WAE (Wireless Application Environment).
Стандарт WAE описывает WML - язык разметки, используемый для создания информационных страниц. Составляющие стека WAP перечислены ниже.
» Стандарт прикладного уровня WTA (Wireless Telephone Application) описывает способ создания и взаимодействия специальных операторских сервисов: автоматический биллинг, информационные бюллетени.
» Протокол сессионного уровня WSP (Wireless Session Protocol) поддерживает неразрывным сеанс связи в течение длительных интервалов ожидания ответа, которые могут возникнуть при выборе SMS в качестве носителя или при применении удаленного шлюза. Уровень транзакций, который обрабатывает отдельные пакеты соединения, реализуется протоколом WTP (Wireless Transaction Protocol).
» Протокол передачи WDP (Wireless Datagram Protocol), имеющий в своей основе классические TCP/IP и UDP/IP. Над основным протоколом передачи WDP для обеспечения безопасности и шифрования данных в соединении введена надстройка - WTSL (Wireless Transport Security Layer).
» Последний, физический уровень характеризует способ передачи данных в эфире. Разработчики WAP постарались сделать эту часть спецификации как можно более гибкой, чтобы сервисом могли воспользоваться все, вне зависимости от того, какой стандарт мобильной связи поддерживает терминал.
В версии WAP 1.0 в качестве носителя ( так называют используемый физический коммуникационный протокол) предлагался исключительно SMS. Такое положение дел не устраивало многих операторов (в частности, не предусматривался протокол для аналоговых сетей). Поэтому спустя четыре месяца появилась версия 1.1, в которую были добавлены: СDPD для аналоговых сотовых сетей, USSD, классический CSD, GPRS для цифровых сетей. Такое добавление повлекло за собой значительную переделку протокола, сделавшую обе версии практически несовместимыми.
Согласно протоколу WAP, уже существующий Интернет-контент непосредственно на клиентское устройство (телефон) не передается. Работа в режиме обработки контента клиентским устройством пока невозможна из-за большого количества проблем. Основная трудность заключается в том, что в Интернет информация представлена в форме HTML-страниц. Работа с ними рассчитана на быстроту связи, мощные процессоры, большой объем памяти, большие экраны, мультимедийное оборудование, а также может требовать эффективных механизмов ввода информации. Все эти требования без труда выполняются на обыкновенном компьютере. Однако мобильные телефоны обладают очень медленными процессорами и небольшим объемом памяти. Кроме того, канал связи отличается очень низкой пропускной способностью и прерывистостью связи, а механизмы ввода информации крайне неудобны. Большинство существующих HTML-страниц попросту не будут работать при таких условиях. WAP использует совершенно новый язык разметки - Wireless Markup Language (WML), более простой, но более строго определенный, чем HTML. В WAP применяются также язык скриптов - WMLScript, представляющий собой упрощенную версию JavaScript, и свой формат растровых изображений - Wireless Bitmap, или WBMP.
Протокол HTTP сам по себе недостаточен для использования в беспроводных системах. Используя эквивалентные HTTP, но бинарные и сжатые форматы, можно снизить размеры пересылаемых сообщений с сотен до всего лишь нескольких байт в рамках одного запроса.
Именно поэтому WAP определяет новый стек протоколов. Однако для того, чтобы окончательно упростить задачу разработки сервисов, в WAP предлагается использовать шлюз между мобильным терминалом и сервером - провайдером информации.
Схема работы WAP-сервисов включает три основных компонента. Первый - это WAP-микробраузер, второй - WAP-шлюз и последний - сервер с WML- и WMLS-контентом. В качестве микробраузера может выступать мобильный терминал или эмулятор. Разница между терминалом и эмулятором лишь в том, что в терминале обязательно будет встроена, по крайней мере, часть стека протоколов WAP, а эмулятор может воспользоваться TCP/IP и заниматься только визуализацией WML.
WAP-шлюз взаимодействует с микробраузером, используя стек протоколов WAP. Шлюз переводит полученные от пользователя запросы в формат HTTP. Поэтому провайдеры информации могут использовать любой HTTP-сервер, применяя любые существующие разработки для создания сервисов и их администрирования. Когда загрузка составляющих контента завершена, шлюз компилирует элементы WML в бинарную форму, что позволяет обеспечить большую скорость обмена информацией. При необходимости (совершение финансовых сделок, передача конфиденциальной информации) содержимое шифруется.
На сегодняшний день существует несколько встраиваемых микробраузеров. Наиболее известный - от компании Unwired Planet (UP); он применяется в WAP-телефонах Alcatel, Motorola, Samsung. Nokia и Ericsson имеют собственные решения, кроме того, существуют модели телефонов (Benefon, Sony), использующие ПО от Microsoft, - Mobile Explorer. Программное обеспечение для WAP-серверов также достаточно многообразно. Различные пакеты предлагаются как компаниями, работающими на рынке мобильной связи, так и сторонними разработчиками.
Для размещение WML-контента достаточно воспользоваться любым предлагаемым HTTP-сервером. Многие наборы инструментов поставляются с бесплатно распространяемыми серверами.
Учитывая количество используемых сейчас во всем мире мобильных телефонов, можно сказать, что рынок услуг, нацеленных на владельцев этих телефонов, очень и очень велик.Даже простенькие сервисы используются огромным количеством людей, особенно если они полезны. Возможность получать новости, отправлять почтовые сообщения или просто развлекаться, где бы вы ни были, довольно привлекательна для большинства людей. Поэтому не стоит думать о WAP как о чем-то недоступном и нереальном. Создать свой собственный маленький сервис по силам каждому уже сейчас, и некоторые даже смогут им воспользоваться.
Текст
У элемента p нет атрибутов
У элемента br нет атрибутов
« Назад |Содержание | Далее »
Сайт: http://www.natahaus.ru/
Управление
Управляющими элементами в WML являются элементы "select" и "input". У каждого есть несколько подэлементов, а также механизм группировки, для приведения нескольких относящихся друг к другу элемементов ввода к одной логике. Также тут присутствует атрибут tabindex. этот атрибут определяет последовательность в которой происходит передвижение по элементам.
Элемент:
Select
Атрибуты:
multiple - по умолчанию равно "off". При включении этого атрибута пользователь может выбрать несколько элементов из предложенного списка.
name - обозначает имя переменной в которой будет храниться значение введенной в этом поле информации.
value - значение элемента по умолчанию.
iname - имя выбранного элемента(ов) списка. Значение "0" означает, что в списке нет элементов. Нумерация элементов списка начинается с "1" и постепенно увеличивается.
ivalue - имя переменной, в которой содержится значение(я) выбранных элементов списка. Несколько значений можно ввести, разделяя их ";", например (1;2) . Нельзя вводить пустое значение переменной. Так значение (1;;2) - неправильно.
title - заголовок. Указывается для того, что бы микроброузер определил тип навигационного элемента.
tabindex - очередь следования этого элемента относительно других. Реализация зависит от броузера.
Элемент:
Option
Атрибуты:
value - значение, присваемое переменной элемента select, в случае выбора этой опции
title - заголовок. В зависимости от микроброузера может не выводиться на экран.
onpick - URL на который пойдет микроброузер, в случае выбора этой опции.
Элемент:
Optgroup
Атрибуты:
title - заголовок. В зависимости от микроброузера может не выводиться на экран.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<p>
Bogus:
<select name="bogus">
<optgroup title="one">
<option value="uno">uno</option>
<option value="eins">eins</option>
</optgroup>
<optgroup title="two">
<option value="dos">dos</option>
<option value="zwei">zwei</option>
</optgroup>
</select>
</p>
</card>
</wml>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<template>
<do type="options" label="Back">
<prev/>
</do>
</template>
<card id="lists">
<p>
<select title="Pick Lists">
<option onpick="#single">Single</option>
<option onpick="#multiple">Multiple</option>
</select>
</p>
</card>
<card id="single">
<onevent type="onenterbackward">
<prev/>
</onevent>
<do type="accept">
<go href="#display_fav"/>
</do>
<p>
Pick your fav Stooge:
<select name="fav" title="Stooges">
<option value="Moe">Moe</option>
<option value="Shemp">Shemp</option>
<option value="Larry">Larry</option>
<option value="Curley">Curley</option>
<option value="Curley Joe">Curley Joe</option>
</select>
</p>
</card>
<card id="multiple">
<onevent type="onenterbackward">
<prev/>
</onevent>
<do type="accept">
<go href="#display_fav"/>
</do>
<p>
Pick your fav Marx Bro.
<select multiple="true" title="Marx Bros" name="fav" >
<option value="Groucho">Groucho
<option value="Harpo">Harpo
<option value="Chico">Chico
<option value="Zeppo">Zeppo
</select>
</p>
</card>
<card id="display_fav">
<p>
Your fav was $fav.
</p>
</card>
</wml>
Элемент:
Input
Атрибуты:
name - то же, что и в элементе select. обозначает имя переменной в которой будет храниться значение введенной в этом поле информации.
value - значение поля по-умолчанию.
type - имеет значение либо "text" либо "password". В зависимости от микроброузера поле типа "password" может отображаться на дисплее видимым текстом.
format - маска ввода.
A - Любая буква в верхнем регистре [A-Z]
a - Любая буква в нижнем регистре и пунктуация [a-z]
N - любая цифра [0-9]
X - любой символ в верхнем регистре [A-Z,0-9]
x - любой символ в нижнем регистре [a-z,0-9]
M - любой символ
m - любой символ
*f - любое количество символов определенного формата, например *N -любое количество цифр
nf - "n" это целое число так например "3A" означает 3 буквы в верхнем регистре или пунктуации
\c - символ ввода, так например "\(3N\)\ \3N\-4N" означает номер телефона с кодом местности в американском формате
emptytok - разрешает пустой ввод
size - ширина поля ввода. Реализация зависит от броузера.
Maxlength - определяет максимальное количество вводимых.
Title - заголовок, показывается броузером в некоторых случаях. Рекомендуется использовать атрибут title во всех элементах, которые им располагают, потому что в некоторых телефонах заполнение поля ввода реализовано в виде отдельного окошка, при этом title будет выводится в качестве напоминания, какое именно поле в настоящий момент заполняет пользователь.
Элемент:
Fieldset (Использование зависит от микроброузера)
Атрибуты:
title - Заголовок
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<template>
<do type="options" label="Back">
<prev/>
</do>
</template>
<card id="fields">
<p>
Field Type:
<select title="Field type">
<option onpick="#nested">Nested</option>
<option onpick="#password">Password</option>
</select>
</p>
</card>
<card id="nested">
<onevent type="onenterbackward">
<prev/>
</onevent>
<do type="accept" label="Done">
<go href="#done"/>
</do>
<p>
First Name:
<input title="First" name="fname"/>
Last Name:
<input title="Last" name="lname"/>
Gender:
<select title="Gender" name="gender">
<option value="male">Male
<option value="female">Female
</select>
</p>
</card>
<card id="done">
<p>
$fname $ lname is a $gender.
</p>
</card>
<card id="password">
<onevent type="onenterbackward">
<prev/>
</onevent>
<do type="accept" label="Done">
<go href="#passwd_done"/>
</do>
<p>
Input a password:<br/>
Min 3 chars.
<input title="Password" name="passwd" type="password" format="*m"/>
</p>
</card>
<card id="passwd_done">
<p>
Password was $passwd.
</p>
</card>
</wml>
Введение в WAP
Для чего он нужен?
Прежде всего, WAP - средство получения доступа в ресурсам Интернет посредством мобильного телефона. При этом пользователь не прибегает к помощи каких бы то ни было дополнительных устройств, таких как компьютер или модем. WAP (Wireless Application Protocol) - это протокол, или технический стандарт, описывающий способ, с помощью которого информация из Интернет передается на небольшой дисплей мобильного телефона. В этом-то и заключается основное отличие WAP от привычных методов доступа во всемирную сеть, которые обеспечивают обмен информацией и просмотр Web - сайтов (протоколы HTTP и TCP/IP). Теоретически, если бы экран мобильного телефона "умел" отображать столько же информации, как и дисплей компьютера, то и не было бы WAP в таком виде, в каком он предоставляется сейчас. Но дисплеи мобильных телефонов, даже имеющих большое разрешение, не могут "вместить" обычные Web - страницы. Именно это послужило причиной создания специальных способов, позволяющих пользователям мобильных телефонов использовать Интернет.
WAP-браузер
Чтобы пользоваться WAP, необходимо иметь мобильный телефон с WAP - браузером. WAP - браузер, это программа, записанная в память телефона и отвечающая за обмен информацией и отображение ее на дисплее (Internet Explorer - Web-браузер для обычных компьютеров). WAP - браузер имеют не все телефоны. Однако важно не только наличие WAP - браузера, но и его версия (модификация). В настоящий момент их четыре: версия 1.0, 1.1, 1.2 и 2.0 . Версия 1.0. давно устарела и уже практически нигде не встречается, в том числе и у нас в стране. Поэтому при покупке сотового телефона, "умеющего" работать с WAP, нужно обязательно выяснить, какую версию этого протокола поддерживает конкретный телефон.
WAP-ресурсы
Какие же возможности открываются перед обладателем телефона с поддержкой WAP? С появлением WAP-протокола абоненты сотовых сетей получили возможность пользоваться рядом сервисных услуг и на специальных WAP-сайтах: такими, как электронная почта, электронные магазины, бронирование билетов и мест в гостиницах, доступ к своему банковскому счету, информационные каналы (новости, прогноз погоды, курс валют, и т.д.) и даже электронный гид.
Во всемирной сети с каждым днем появляется все больше и больше WAP - ресурсов. Для многих популярных Web-сайтов созданы их WAP-близнецы, которые предоставляют "мобильным" пользователям тот же набор услуг. Один из примеров: сайт электронной почты www.mail.ru имеет WAP-версию wap.mail.ru. Для тех, кто хочет оценить тот или иной WAP-сайт не отходя от своего компьютера, существуют WAP-эмуляторы, которые позволяют воспроизвести работу с WAP на дисплее мобильного телефона. Отображение WAP - сайтов на дисплее мобильного телефона отличается недостаточной графикой и анимацией (это связано с низким разрешением экрана и невысокой скоростью передачи данных по каналам связи, однако этот недостаток уже преодолен, дело только за внедрением новых разработок). Для отображения информации на экране сотового телефона используется, как правило, четыре строки. Главный принцип представления информации на сотовом телефоне - разбиение данных на небольшие блоки размером в два-три экрана WAP- телефона. Это может быть информация о курсах валют, котировках ценных бумаг, или, например, небольшое письмо.
Операторы
Существует еще одно обязательное условие для использования WAP - это поддержка местным оператором мобильной связи услуги предоставления мобильного Интернета. Далеко не все операторы связи, действующие в России, да и за рубежом, обеспечивают WAP. Для подключения к WAP необходимо заказать у оператора сети услугу передачи данных. Оплата услуги при этом будет происходить по тарифам передачи данных этого оператора. Список "прогрессивных" в этом отношении отечественных операторов есть в меню "Настройка телефонов", а также в меню "WAP-сайты". Там вы найдете ссылки на интернет-страницы этих операторов и краткое содержание этих страниц. Итак, чтобы пользоваться услугами мобильного Интернета "в лице" WAP, необходимо подключить аппарат, имеющий WAP-браузер версии 1.1 (не ниже), в сети оператора, поддерживающего WAP. Если это сделано, то достаточно знать нужные WAP-ресурсы, чтобы оперативно получать необходимую информацию.
Перспективы WAP
С внедрением WAP открылись его достоинства и недостатки. Свое мнение о нем высказывают как специалисты, так и рядовые пользователи, которым важен не столько процесс, сколько конечный результат. Объективная оценка такова: WAP в том виде, в котором он существует сейчас, требует серьезного усовершенствования. Здесь мы приведем несколько замечаний. Из-за небольшого размера дисплеев, интерфейс WAP оставляет желать лучшего. Если небольшие сообщения можно прочитать довольно быстро, то содержащие до сотни символов приходиться долго "листать". Также актуальна скорость обмена данными с мобильных терминалов, тем более, что за время работы с WAP надо платить… Последний недостаток устраняет новая технология передачи данных GPRS которая не только увеличивает скорость обмена в несколько раз, но и позволяет платить не за время, а за объем принятой информации.
WAP-технология в ее современном виде является пока переходным решением. Разработчики уже модернизируют его, избавляя от первоначальных недостатков. Возможно, изменятся цели, которые достигаются применением WAP. Однако общая идея предоставления информации из Интернет на мобильный телефон будет только развиваться.
Введение в WML
WML - язык разметки, основанный на XML (extensible Markup Language). Официальная спецификация WML разработана и поддерживается WAP Forum, производственным консорциумом, основанном Nokia, Phone.com, Motorola и Ericsson. Эта спецификация определяет синтаксис, переменные и элементы используемые в файлах WML. Последнее определение типа документа (Document Type Definition) для тех, кто знаком с XML, доступны по адресу: http://www.wapforum.org/DTD/wml_1.1.xml
Любой правильный XML-файл должен соответствовать этому DTD. В противном случае он не будет правильно обработан.
Понимание WML
WML базируется на XML, языке разметки получившем невероятную поддержку благодаря своей способности описывать данные (HTML, кстати, используется для описания представления данных). HTML - предопределяет те тэги, которые могут быть использованы для описания страницы так, чтобы ее смог правильно понять и обработать броузер. XML, в свою очередь, позволяет создателю документа определять такой набор тэгов, которой он считает необходимым. Этот набор тэгов группируется затем в набор грамматических "правил", называемых по-другому Определение Типа Документа или проще DTD. Как уже упоминалось ранее, DTD, используемый для описания WML, расположен по адресу: http://www.wapforum.org/DTD/wml_1.1.xml
В телефоне или в любом другом коммуникационном устройстве, заявленном как WAP-совместимое, загружено специальное программное обеспечение (известное как микроброузер), которое полностью понимает, как обрабатывать все вариации WML 1.1 DTD.
Самая первая фраза внутри любого XML-документа называется пролог. В силу стандарта он содержит две строчки кода: определение версии XML и DTD (указатель на файл, содержащий DTD).
Пролог выглядит следующим образом.
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
Следом за прологом, в каждом XML-документе содержится один единственный элемент, который содержит в себе остальные подэлементы.
Так же как и в HTML этими элементами являются угловые скобки: <> и </>. Например: <element>data</element>. В документе должен содержаться только один элемент описывающий сам документ. В WML этим элементом является <wml>. Все остальные элементы содержатся уже внутри него.
Два самых распространенных способа хранения информации внутри XML-документа это элементы и их атрибуты. Элементы определяют структурную разметку внутри документа открытием и закрытием определенных тэгов. Элементы, в свою очередь могут содержать подэлементы. Атрибуты в основном используются для описания элементов. В качестве примера можно привести следующий фрагмент кода:
<!-- This is the Login Card --> <card id="LoginCard" title="Login"> Please select your user name. </card>
В этом примере элемент card содержит атрибуты id и title. Комментарий в WML, также как и в HTML заключается между тэгами <!-- и -->.
Правильные WML элементы
В WML описывается набор элементов, которые можно комбинировать для создания WML-документа. Эти элементы можно условно разделить на две группы: Элементы типа Deck/Card и элементы обработки событий.
Элементы типа Deck/Card
wml card template head access meta
Элемены обработки событий
do ontimer onenterforward onenterbackward onpick onevent postfield
Задачи
go prev refresh noop
Переменные
setvar
Ввод пользователя
input select option optgroup fieldset
Анкоры, Картинки и Таймеры
a anchor img timer
Форматирование текста
br p table tr td
Каждый их этих элементов может быть применен в документе используя следующий синтаксис:
<элемент> значение элемента </элемент>
Если элемент не содержит внутри себя какую либо информацию (обычно такое случается с элементом форматирования <br>), вы можете использовать тэг с добавленным к нему "/" (например <br/>).
Строительство приложений с помощью WML. WML был разработан для для устройств с низкой пропускной способностью и маленьким дисплеем.
В качестве составной этого дизайна была применена концепция дек и карт. Один WML-документ (а точнее элементы, содержащиеся внутри элемента <wml>) называется декой (deck). Интерактивное взаимодействие с пользователем осуществляется с помощью карт (card). Достоинство такой реализации заключается в том, что несколько экранов могут быть загружены на клиентское устройство за один раз. Используя WMLScript, обработка действий пользователя может быть произведена с применением находящихся в одной деке карт, исключая тем самым множественные транзакции с сервером. Конечно, в связи с ограниченными ресурсами клиентского устройства возникает другая проблема. Поэтому вам вполне возможно придется разбрасывать ваши карты по разным деками во избежании чрезмерного увеличения объема одного файла.
Использование переменных
Поскольку, как мы говорили ранее, в одной деке может содержаться несколько карт, нам потребуется механизм хранения информации из одной карты для ее последующего использования в другой. Этот механизм обеспечивается переменными. Переменные могут быть созданы и определены, используя несколько различных методов.
Используя элемент <setvar> в качестве результата выполнения пользователем определенных действий. Кроме того, этот элемент может быть использован для определения переменной внутри следующих элементов: <go>, <prev>, <refresh>. Следующий элемент создает переменную x и присваивает ей значение "123".
<setvar name="x" value="123"/>
Переменным также присваивается значение через использование элементов <input>, <select>, <option> и других. При этом автоматически создается переменная с именем этого элемента. По окончании ввода, ей присваивается значение соответствующее выбору пользователя. Например следующий элемент создаст переменную с именем "x"
<select name="x" title="X Value:"> Несмотря на то, что мы не описывает WMLScript, следует отметить, что WML и WMLScript используют одни и те же переменные в рамках одной деки.
Вызов скрипта
Без возможности производить различные операции с информацией на сервере, WML остался бы просто средством форматированного вывода текста. Добавление такой возможности, напротив, открывает любому WAP-совместимому устройству пути передачи сообщений через Интернет, промышленному использованию на предприятии и электронной коммерции. WAP-совместимое устройство взаимодействуют с подобными источниками информации через WAP-шлюз. Этот шлюз должен уметь взаимодействовать с различными стандартами сотовой связи, такими как CDMA, GSM или GPRS. Однако, вполне возможно установить тестовый шлюз в сочетании с популярными веб-серверами (такими как MS IIS или Apache) прямо в вашей локальной сети.
В WML определяется девять типов,
Элемент:
Do
Атрибуты:
type - указывает микроброузеру назначение кнопки. В WML определяется девять типов, но в подавляющем большинстве случаев используются "accept" и "options".
label - значение этого атрибута используется для замены названия кнопки. Это помогает кастомизировать приложения. Количество символов на кнопке ограничено возможностями устройства.
name - установка этого атрибута дает возможность разработчику воспользоваться преимуществами иерархической структуры WML-документа. Элемент "do" с именем "one" унаследует свойства определенные элементу с таким же именем в элементе "template" этой деки.
optional - указывает микроброузеру на необязательность показа этой кнопки в случае если атрибуту присвоено значение true.
Элемент:
Go
Атрибуты:
href - URL.
sendreferer - этот атрибут необходим серверу в списках контроля доступа. Его значение указывает броузеру на то, что необходимо отослать на сервер URL минимально возможной длины.
method - может принимать значение либо "post" либо "get". Значение аналогично HTML.
accept-charset - указывает кодировку, в которой микроброузер должен посылать ссылку.
Небольшой пример простейшей навигации:
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.com/DTD/wml_1.1.xml"> <wml>
<card id="Start">
<do type="accept">
<go href="#nextCard"/>
</do>
<p>Hello World!</p>
</card>
<card id="nextCard">
<do type="options">
<prev/>
</do>
<p>Next Card!</p>
</card>
</wml>
Элемент:
Setvar
Атрибуты:
name - имя, присваемое переменной. Переменная так же может выполнять эту функцию, например:
<setvar name=$bogus value=$bear>.
value - значение, присваемое переменной.
Элемент:
Postfield
Атрибут:
name - имя, присваемое переменной.
Переменная так же может выполнять эту функцию, например:
<postfield name=$bogus value=$bear>.
value - значение, присваемое переменной.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.com/DTD/wml_1.1.xml">
<wml>
<card id="Start" label="Bob's CGI">
<do type="accept">
<setvar name="lastExecuted" value="bob.cgi"/>
<go href="bob.cgi" method="post">
<postfield name="one" value="one one"/>
<!-- the server should be able to tell that there are two values for the key one. -->
<postfield name="one" value="one"/>
<postfield name="two" value="two two"/>
</do>
<p>Hello World!</p>
</card>
</wml>
Элемент:
Anchor
Атрибут:
title - имя элемента. Микроброузер может воспользоваться этим атрибутом по своему усмотрению. При перемещении курсора на анкор, микроброузер может вывести его имя в софт-кнопке.
Элемент:
A
Атрибут:
href - URL на который ссылается анкор. У этого элемента нет дополнительных атрибутов позволяющих указать статус ссылки или ее метод. Если необходимы эти опции можно воспользоваться элементом "anchor" с внедренным в него элементом "go":
<anchor> click me <go href="#clickedMe"/> </anchor> <a href="#clickedMe">click me</a>