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

         

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



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

При запуске приложения YellowPages WML-страница YellowPages.wml выводит наэкран приглашение пользователю на ввод названия компании или рода ее деятельности. Затем пользователю предоставляется возможность указать почтовыйкод (zip), город, штат или электронный адрес. После ввода всех данных, необходимых для поиска, приложение запускает Peri-сценарий, который обрабатываетвведенную информацию. WML-страница YellowPages.wml реализуется с помощьюследующего программного кода: <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <head> <meta http-equiv="Cache-Control" content="max-age=0" forua="true"/> </head> <card> <onevent type="onenterforward"> <refresh> <setvar name="BizName" value="" /> <setvar name="Online" value="True" /> </refresh> </onevent> <onevent type="onenterbackward"> <refresh> <setvar name="Online" value="True" />

</refresh> </onevent> <p align="center"> Yellow Pages<br/> </p> <p align="left"> Search for:<br/> (Name or type) <input name="BizName" maxlength="15" /> </p> <p align="left"> Location:<br/> <select> <option onpick="#ZipCode">Zip Code</option> <option onpick="#CityState">City /State</option> <option onpick="#GetInfo">Online< /option> </select> </p> </card> <card id="ZipCode"> <onevent type="onenterforward"> <refresh> <setvar name="ZipCode" value="" /> <setvar name="CityName" value="" /> <setvar name="StateName" value="" /> <setvar name="Online" value="" /> </refresh> </onevent> <onevent type="onenterbackward"> <refresh> <setvar name="ZipCode" value="" /> <setvar name="CityName" value="" /> <setvar name="StateName" value="" /> <setvar name="Online" value="" /> </refresh> </onevent> <do type="accept"> <go href="#GetInfo" /> </do> <p align="left"> Enter Zip Code: <input name="ZipCode" maxlength="5" format="NNNNN" /> </p> </card> <card id="CityState"> <onevent type="onenterforward"> <refresh> <setvar name="ZipCode" value="" /> <setvar name="CityName" value="" /> <setvar name="StateName" value="" /> <setvar name="Online" value="" /> </refresh> </onevent> <onevent type="onenterbackward"> <refresh> <setvar name="ZipCode" value="" /> <setvar name="CityName" value="" /> <setvar name="StateName" value="" /> <setvar name="Online" value="" /> </refresh> </onevent> <do type="accept"> <go href="#GetInfo" /> </do> <p align="left"> Enter City: <input name="CityName" maxlength="15" format="*M" /><br/> Enter State: <input name="StateName" maxlength="2" format="AA" /> </p> </card> <card id="GetInfo"> <do type="accept" label="Find"> <go method="post" href="../waplibcgi/YellowPagesWML.pl"> <postfield name="BizName" value="$(BizName)&"/> <postfield name="ZipCode" value="$(ZipCode)&"/> <postfield name="CityName" value="$(CityName)&"/> <postfield name="StateName" value="$(StateName)&"/> <postfield name="Online" value="$(Online)"/> </go> </do> <p align="left" mode="nowrap"> Search for:<br/> Business: $(BizName)<br/> Zip Code: $(ZipCode)<br/> City/St: $(CityName)$(StateName)<br/> OnLine: $(Online) </p> </card> </wml>
Первые два элемента 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,чтобы обработать введенную информацию.



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