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

       

Рассмотрение Peri-сценария HotelAvailHDML.pl



Рассмотрение Peri-сценария HotelAvailHDML.pl

После выбора пользователем гостиницы программный код приложения Hotellnfoзапускает сценарий HotelAvailHDML.pl, формирующий на экране приглашениепользователю на ввод регистрационных данных, таких, как число постояльцев,дата заселения и дата выселения. Как и в случае WML-приложения, которое моглобы быть написано с использованием только WML, так и HDML-приложение можнобыло бы запрограммировать, воспользовавшись только HDML. Peri-сценарийHotelAvailHDML.pl реализуется с помощью следующего программного кода:

#!/usr/bin/perl

read (STDIN, $HotelCode, $ENV{'CONTENT_LENGTH'});

$Deck = "Content-type: text/x-hdml

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

&ltChoice Name=Avail&gt

&ltAction Type=Accept Label=Edit&gt &ltAction Type=Soft1 Label=Check Task=GO Method=Post PostData=\$HotelCode&\$(CheckInDate:noesc)& \$(CheckOutDate:noesc)&\$NumGuests Dest=CheckAvailHDML.pl&gt

&ltCenter&gtWeb Inns&ltbr&gt &ltCenter&gt$HotelCode

&ltCE Task=GOSub Dest=#GetCheckIn Vars=CheckInDate=\$CheckInDate Receive=CheckInDate&gt Check In (mm/dd/yy): \$CheckInDate

&ltCE Task=GOSub Dest=#GetCheckOut Vars=CheckOutDate=\$CheckOutDate Receive=CheckOutDate&gt Check Out (mm/dd/yy): \$CheckOutDate

&ltCE Task=GOSub Dest=#GetNumber Vars=NumGuests=\$NumGuests Receive=NumGuests&gt Number of guests: \$NumGuests

&lt/Choice&gt

&ltEntry Name=GetCheckIn Default=\$CheckInDate Key=CheckInDate Format=NN/NN/NN&gt

&ltAction Type=Accept Task=Return RetVals=\$CheckInDate&gt Check In:

&lt/Entry&gt

&ltEntry Name=GetCheckOut Default=\$CheckOutDate Key=CheckOutDate Format=NN/NN/NN&gt

&ltAction Type=Accept Task=Return RetVals=\$CheckOutDate&gt Check Out:

&lt/Entry&gt

&ltEntry Name=GetNumber Default=\$NumGuests Key=NumGuests Format=N*N&gt

&ltAction Type=Accept Task=Return RetVals=\$NumGuests&gt Number of guests:

&lt/Entry&gt

&lt/HDML&gt";

print $Deck;

Как можно видеть, сценарий просто создает HDML-карту, которая принимает регистрационные данные пользователя. Внутри программного кода карты используется элемент <Choice>, обеспечивающий возможность указания пункта регистрационных данных, нуждающегося в редактировании. Затем, основываясь на выборе пользователя, выполняется ветвление программного кода и переход на элемент <Entry>, обеспечивающий отображение приглашения пользователю наввод фактических данных. Поле Format, присутствующее внутри каждого элемента <Entry>, определяет формат соответствующих данных. Наконец, послеввода пользователем данных, приложение вызывает сценарий CheckAvailHDML.pl,который подобно своему WML-аналогу является достаточно простым и выводитна экран одну и ту же информацию, независимо от выбранной гостиницы и введенных регистрационных данных.





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