Подробнее о приложении Weather.hdml
Подробнее о приложении Weather.hdml
Как и файл формата WML, файл Weather.hdml позволяет пользователю получитьинтересующую его информацию о погоде, используя свой сотовый телефон. Исходный код файла Weather.hdml приведен ниже:
<HDML Version=3.0 Markable=True TTL=0>
<Choice Name=Main Method=Alpha>
<Center>Weather Info<BR> Search by:
<CE Task=GO Dest=#GetZipCode>Zip Code <CE Task=GO Dest=#GetCity>City <CE Task=GO Dest=#GetState>State <CE Task=GO Dest=../Weather/Wxhelp.hdml>Help
</Choice>
<Entry Name=GetZipCode Format=NNNNN Key=ZipCode Default="">
<Action Type=Prev Task=GO Dest=#Main Vars=ZipCode=>
<Action Type=Accept Task=GO Method=Post PostData=$(ZipCode) Dest=../waplibcgi/ZipWeatherHDML.pl>
<Center>Weather Info<BR><BR> Enter Zip Code:
</Entry>
<Entry Name=GetCity Format=*M Key=CityName Default="">
<Action Type=Prev Task=GO Dest=#Main Vars=CityName=>
<Action Type=Accept Task=GO Method=Post PostData=$(CityName:noesc) Dest=../waplibcgi/CityWeatherHDML.pl>
<Center>Weather Info<BR><BR> Enter City:
</Entry>
<Entry Name=GetState Format=AA Key=StateName Default="">
<Action Type=Prev Task=GO Dest=#Main Vars=StateName=>
<Action Type=Accept Task=GO Method=Post PostData=$(StateName) Dest=../waplibcgi/StateWeatherHDML.pl>
<Center>Weather Info<BR><BR> Enter State:
</Entry>
</HDML>
Первый элемент внутри деки сообщает браузеру (или другим программистам)какая версия языка HDML используется приложением. Далее, выражение Markable=True сообщает, что браузер может установить закладку в исходной деке, аTTL=0 сообщает ему о невозможности кэширования (таким образом, браузердолжен перегружать эту деку каждый раз при обращении к ней пользователя).
Для предоставления пользователю возможности выбора почтового индекса, города, штата или режима помощи используется элемент <Choice>. Внутри<Choice> используются элементы <СЕ> для направления приложения в опереде-ленное место в исходном коде внутри деки. Если же выбрана опция помощи, требуется, чтобы браузер загрузил другую деку.
В деке формата HDML используются элементы <Entry> для обеспечения вводапользователем почтового индекса, города или штата. Внутри каждого из этих элементов в поле format определяется формат вводимых пользователем данных.
После того как произведен выбор, приложение запускает один из сценариевязыка Perl (в зависимости от того, что выбрано: индекс, штат или город). Еслипользователем выбрана опция помощи, браузер загружает деку Wxhelp.hdml, которая имеет следующий исходный код:
<HDML Version=3.0 Markable=True TTL=0>
<Display>
<ACTION Type=Accept Task=GO Dest=../Weather/Weather.hdml>
For this demo<BR>
Zip Codes are:<BR> 87101, 87701, 89101, 89501<BR>
Cities are:<BR> Albuquerque, NM<BR> Las Vegas, NM<BR> Las Vegas, NV<BR> Reno, NV<BR>
States are:<BR> Nevada<BR> New Mexico<BR>
</Display>
</HDML>
Эта дека использует элемент <Display> для отображения доступных почтовыхиндексов, городов и штатов. После того как пользователь просмотрит интересующую его информацию и нажмет кнопку Accept (Принято), элемент <Action>даст указание браузеру перезагрузить основную деку приложения.