Пособие по написанию WAP-сайтов

         

Рассмотрение приложения YellowPages



Рассмотрение приложения YellowPages

При запуске приложения YellowPages WML-страница YellowPages.wml выводит наэкран приглашение пользователю на ввод названия компании или рода ее деятельности. Затем пользователю предоставляется возможность указать почтовыйкод (zip), город, штат или электронный адрес. После ввода всех данных, необходимых для поиска, приложение запускает Peri-сценарий, который обрабатываетвведенную информацию. WML-страница YellowPages.wml реализуется с помощьюследующего программного кода:

&lt?xml version="1.0"?&gt &lt!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"&gt

&ltwml&gt

&lthead&gt

&ltmeta http-equiv="Cache-Control" content="max-age=0" forua="true"/&gt

&lt/head&gt

&ltcard&gt

&ltonevent type="onenterforward"&gt

&ltrefresh&gt

&ltsetvar name="BizName" value="" /&gt &ltsetvar name="Online" value="True" /&gt

&lt/refresh&gt

&lt/onevent&gt



&ltonevent type="onenterbackward"&gt

&ltrefresh&gt

&ltsetvar name="Online" value="True" /&gt

&lt/refresh&gt

&lt/onevent&gt

&ltp align="center"&gt

Yellow Pages&ltbr/&gt

&lt/p&gt

&ltp align="left"&gt

Search for:&ltbr/&gt (Name or type) &ltinput name="BizName" maxlength="15" /&gt

&lt/p&gt

&ltp align="left"&gt

Location:&ltbr/&gt

&ltselect&gt &ltoption onpick="#ZipCode"&gtZip Code&lt/option&gt &ltoption onpick="#CityState"&gtCity /State&lt/option&gt &ltoption onpick="#GetInfo"&gtOnline&lt /option&gt &lt/select&gt

&lt/p&gt

&lt/card&gt

&ltcard id="ZipCode"&gt




&ltonevent type="onenterforward"&gt

&ltrefresh&gt

&ltsetvar name="ZipCode" value="" /&gt &ltsetvar name="CityName" value="" /&gt &ltsetvar name="StateName" value="" /&gt &ltsetvar name="Online" value="" /&gt

&lt/refresh&gt

&lt/onevent&gt

&ltonevent type="onenterbackward"&gt

&ltrefresh&gt

&ltsetvar name="ZipCode" value="" /&gt &ltsetvar name="CityName" value="" /&gt &ltsetvar name="StateName" value="" /&gt &ltsetvar name="Online" value="" /&gt

&lt/refresh&gt

&lt/onevent&gt

&ltdo type="accept"&gt &ltgo href="#GetInfo" /&gt &lt/do&gt

&ltp align="left"&gt

Enter Zip Code: &ltinput name="ZipCode" maxlength="5" format="NNNNN" /&gt

&lt/p&gt

&lt/card&gt

&ltcard id="CityState"&gt

&ltonevent type="onenterforward"&gt

&ltrefresh&gt

&ltsetvar name="ZipCode" value="" /&gt &ltsetvar name="CityName" value="" /&gt &ltsetvar name="StateName" value="" /&gt &ltsetvar name="Online" value="" /&gt

&lt/refresh&gt

&lt/onevent&gt

&ltonevent type="onenterbackward"&gt

&ltrefresh&gt

&ltsetvar name="ZipCode" value="" /&gt &ltsetvar name="CityName" value="" /&gt &ltsetvar name="StateName" value="" /&gt &ltsetvar name="Online" value="" /&gt

&lt/refresh&gt

&lt/onevent&gt

&ltdo type="accept"&gt &ltgo href="#GetInfo" /&gt &lt/do&gt



&ltp align="left"&gt

Enter City: &ltinput name="CityName" maxlength="15" format="*M" /&gt&ltbr/&gt Enter State: &ltinput name="StateName" maxlength="2" format="AA" /&gt

&lt/p&gt

&lt/card&gt

&ltcard id="GetInfo"&gt

&ltdo type="accept" label="Find"&gt

&ltgo method="post" href="../waplibcgi/YellowPagesWML.pl"&gt &ltpostfield name="BizName" value="$(BizName)&"/&gt &ltpostfield name="ZipCode" value="$(ZipCode)&"/&gt &ltpostfield name="CityName" value="$(CityName)&"/&gt &ltpostfield name="StateName" value="$(StateName)&"/&gt &ltpostfield name="Online" value="$(Online)"/&gt &lt/go&gt

&lt/do&gt

&ltp align="left" mode="nowrap"&gt

Search for:&ltbr/&gt Business: $(BizName)&ltbr/&gt Zip Code: $(ZipCode)&ltbr/&gt City/St: $(CityName)$(StateName)&ltbr/&gt OnLine: $(Online)

&lt/p&gt

&lt/card&gt

&lt/wml&gt

Первые два элемента WML-страницы сообщают WAP-браузерам версию WAP-спецификации, которую поддерживает приложение. В данном случае WML-страница совместима с XML 1.0 и описанием типа документа (DTD) версии 1.1, разработанным ассоциацией WAP Forum. Любая WML-страница, размещаемаяпосле информации о версии, начинается с тега <WML>. В конце каждой WML-страницы должен находиться соответствующий тег </WML>, который завершаетэлементы WML-страницы. Теги <НЕAD» и </HEAD>, располагающиеся после тега<WML>, позволяют указывать данные о WML-странице, включая метаданные и информацию, управляющую доступом.

Элемент <meta> позволяет определять для WML-страницы метаинформацию. Внашем случае параметр http-equiv=Cache-Control сообщает WAP-браузеру, чтоданная часть метаинформации относится к системе кэширования памяти.


Аналогично, параметр content=max-age= 0 сообщает браузеру, что максимальное время, в течение которого должно выполняться кэширование WML-страницы, равнонулю секунд; то есть, браузер должен не запоминать, а повторно загружать данные с сервера каждый раз, когда поступает запрос. Для данной книги нулевоезначение было выбрано, чтобы помочь читателю в разработке программы. Привыборе нулевого значения каждый раз, когда происходит изменение, оно передается на телефон. В реально эксплуатируемом приложении статическое меню,подобное рассматриваемому здесь, по-видимому, должно использовать интервалхранения, установленный по умолчанию, равным 30 дням. Наконец, параметр

forua="true" определяет, что данное значение Cache-Control предназначенодля телефона и не должно удаляться каким-либо промежуточным агентом.

Если взглянуть на элементы WML-страницы, то можно обнаружить элемент<input>, который формирует приглашение пользователю на ввод наименованиякомпании. После ввода пользователем наименования компании приложение использует элемент <select> для отображения приглашения на ввод почтового кода (zip), города и штата или электронного адреса. На основе сделанного пользователем выбора выполняется ветвление программного кода и переход на локальную карту, использующую элемент <input> для приема соответствующих данных.Наконец, после ввода всех данных выполняется ветвление программного кода ипереход на карту Getinfo, которая запускает Peri-сценарий YellowPagesWML.pl,чтобы обработать введенную информацию.


Содержание раздела