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

         

Подробнее о приложении Weather.hdml



Подробнее о приложении Weather.hdml

Как и файл формата WML, файл Weather.hdml позволяет пользователю получитьинтересующую его информацию о погоде, используя свой сотовый телефон. Исходный код файла Weather.hdml приведен ниже:

&ltHDML Version=3.0 Markable=True TTL=0&gt

&ltChoice Name=Main Method=Alpha&gt

&ltCenter&gtWeather Info&ltBR&gt Search by:

&ltCE Task=GO Dest=#GetZipCode&gtZip Code &ltCE Task=GO Dest=#GetCity&gtCity &ltCE Task=GO Dest=#GetState&gtState &ltCE Task=GO Dest=../Weather/Wxhelp.hdml&gtHelp

&lt/Choice&gt

&ltEntry Name=GetZipCode Format=NNNNN Key=ZipCode Default=""&gt

&ltAction Type=Prev Task=GO Dest=#Main Vars=ZipCode=&gt

&ltAction Type=Accept Task=GO Method=Post PostData=$(ZipCode) Dest=../waplibcgi/ZipWeatherHDML.pl&gt

&ltCenter&gtWeather Info&ltBR&gt&ltBR&gt Enter Zip Code:

&lt/Entry&gt

&ltEntry Name=GetCity Format=*M Key=CityName Default=""&gt



&ltAction Type=Prev Task=GO Dest=#Main Vars=CityName=&gt

&ltAction Type=Accept Task=GO Method=Post PostData=$(CityName:noesc) Dest=../waplibcgi/CityWeatherHDML.pl&gt

&ltCenter&gtWeather Info&ltBR&gt&ltBR&gt Enter City:

&lt/Entry&gt

&ltEntry Name=GetState Format=AA Key=StateName Default=""&gt

&ltAction Type=Prev Task=GO Dest=#Main Vars=StateName=&gt

&ltAction Type=Accept Task=GO Method=Post PostData=$(StateName) Dest=../waplibcgi/StateWeatherHDML.pl&gt

&ltCenter&gtWeather Info&ltBR&gt&ltBR&gt Enter State:

&lt/Entry&gt

&lt/HDML&gt

Первый элемент внутри деки сообщает браузеру (или другим программистам)какая версия языка HDML используется приложением. Далее, выражение Markable=True сообщает, что браузер может установить закладку в исходной деке, аTTL=0 сообщает ему о невозможности кэширования (таким образом, браузердолжен перегружать эту деку каждый раз при обращении к ней пользователя).




Для предоставления пользователю возможности выбора почтового индекса, города, штата или режима помощи используется элемент <Choice>. Внутри<Choice> используются элементы <СЕ> для направления приложения в опереде-ленное место в исходном коде внутри деки. Если же выбрана опция помощи, требуется, чтобы браузер загрузил другую деку.

В деке формата HDML используются элементы <Entry> для обеспечения вводапользователем почтового индекса, города или штата. Внутри каждого из этих элементов в поле format определяется формат вводимых пользователем данных.

После того как произведен выбор, приложение запускает один из сценариевязыка Perl (в зависимости от того, что выбрано: индекс, штат или город). Еслипользователем выбрана опция помощи, браузер загружает деку Wxhelp.hdml, которая имеет следующий исходный код:

&ltHDML Version=3.0 Markable=True TTL=0&gt

&ltDisplay&gt

&ltACTION Type=Accept Task=GO Dest=../Weather/Weather.hdml&gt

For this demo&ltBR&gt

Zip Codes are:&ltBR&gt 87101, 87701, 89101, 89501&ltBR&gt

Cities are:&ltBR&gt Albuquerque, NM&ltBR&gt Las Vegas, NM&ltBR&gt Las Vegas, NV&ltBR&gt Reno, NV&ltBR&gt

States are:&ltBR&gt Nevada&ltBR&gt New Mexico&ltBR&gt

&lt/Display&gt

&lt/HDML&gt

Эта дека использует элемент <Display> для отображения доступных почтовыхиндексов, городов и штатов. После того как пользователь просмотрит интересующую его информацию и нажмет кнопку Accept (Принято), элемент <Action>даст указание браузеру перезагрузить основную деку приложения.


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