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

       

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



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

Как и приложение формата WML, файл FlightSchedule.hdml позволяет пользователю определить состояние выбранного рейса, используя переносное устройство(в нашем случае сотовый телефон). Этот файл имеет следующий исходный код:

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

&ltChoice Name=GetAirline1 Key=AirCode&gt

&ltAction Type=Accept Task=GO Dest=#GetFlightNum&gt

&ltCenter&gtFlight Schedule &ltbr&gt&ltLine&gtAirline:

&ltCE Value=SU&gtAeroflot &ltCE Value=AC&gtAir Canada &ltCE Value=AF&gtAir France &ltCE Value=NZ&gtAir New Zealand &ltCE Value=AS&gtAlaska Airlines &ltCE Value=AQ&gtAloha Airlines &ltCE Value=HP&gtAmerica West &ltCE Value=AA&gtAmerican Airlines &ltCE Value=TZ&gtAmerican Trans Air &ltCE Task=GO Dest=#GetAirline2&gt...More

&lt/Choice&gt

&ltChoice Name=GetAirline2 Key=AirCode&gt

&ltAction Type=Accept Task=GO Dest=#GetFlightNum&gt &ltAction Type=Soft1 Label=Back Task=GO Dest=#GetAirline1&gt

&ltCenter&gtFlight Schedule &ltbr&gt&ltLine&gtAirline:

&ltCE Value=CO&gtContinental &ltCE Value=DL&gtDelta Airlines &ltCE Value=LH&gtLufthansa &ltCE Value=JL&gtJapan Airlines &ltCE Value=KL&gtKLM Royal Dutch &ltCE Value=NW&gtNorthwest Airlines &ltCE Value=QF&gtQantas Airlines &ltCE Value=QQ&gtReno Air &ltCE Value=SR&gtSwissAir &ltCE Task=GO Dest=#GetAirline3&gt...More

&lt/Choice&gt



&ltChoice Name=GetAirline3 Key=AirCode&gt

&ltAction Type=Accept Task=GO Dest=#GetFlightNum&gt &ltAction Type=Soft1 Label=Back Task=GO Dest=#GetAirline2&gt

&ltCenter&gtFlight Schedule &ltbr&gt&ltLine&gtAirline:

&ltCE Value=TW&gtTWA &ltCE Value=UA&gtUnited Airlines &ltCE Value=US&gtUSAir &ltCE Value=VS&gtVirgin Atlantic




&lt/Choice&gt

&ltEntry Name=GetFlightNum Format=5N Key=FlightNum Default=""&gt

&ltAction Type=Accept Task=GO Label=Find Method=Post PostData=$(AirCode)&$(FlightNum) Dest=../waplibcgi/FlightScheduleHDML.pl&gt

Flight Number:

&lt/Entry&gt

&lt/HDML&gt

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

Как вы видите, для отображения списка авиакомпаний, приложение используетэлемент <Choice>. Внутри <Choice> используется элемент <Action> для определения места в деке, куда приложение передает управление, когда пользовательпроизводит выбор авиакомпании. В отличие от версии формата WML, где используются два отдельных файла (один для получения названия авиакомпании иодин для получения номера рейса), в версии приложения формата HDML используется только один файл. Если вы подробнее изучите приложение, вы заметите,что в элементе <Choioe> с именами GetAirline2 и GetAirlineS используетсяэлемент <Action>, который определяет место в деке, куда передается управлениепосле того как пользователь нажимает кнопку Back (Назад).

После выбора пользователем авиакомпании в исходном коде осуществляется переход к элементу GetFlightNum, который предлагает пользователю ввести номеррейса и загружает сценарий языка Perl FlightScheduleHDML.pl.

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