Подробнее о приложении 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>даст указание браузеру перезагрузить основную деку приложения.