Рассмотрение приложения HotelInfo.hdml
Рассмотрение приложения HotelInfo.hdml
Как и приложение на основе WML, Hotellnfo.hdml предоставляет пользователювозможность выбирать гостиницу и затем вводить регистрационные данные.Приложение Hotellnfo.hdml реализуется с помощью следующего программного
кода на HDML:
<HDML Version=3.0 Markable=True TTL=0>
<Choice Name=Hotel>
<Action Type=Accept Label=Pick>
<Center>Web Inns<br>
<CE Task=GO Dest=#LasVegas>Las Vegas <CE Task=GO Dest=#LosAngeles>Los Angeles <CE Task=GO Dest=#Orlando>Orlando <CE Task=GO Dest=#SanFrancisco>San Francisco <CE Task=GO Dest=#WashingtonDC>Washington DC
</Choice>
<Choice Name=LasVegas Key=HotelCode>
<Action Type=Accept Label=Pick Task=GO Method=Post PostData=$(HotelCode) Dest=../waplibcgi/HotelAvailHDML.pl>
<Action Type=Prev Label=City>
<Center>Web Inns<br> <Center>Las Vegas
<CE Value="LVAirport">Airport <CE Value="LVNorth">North <CE Value="LVSouth">South <CE Value="LVCenter">City Center
</Choice>
<Choice Name=LosAngeles Key=HotelCode>
<Action Type=Accept Label=Pick Task=GO Method=Post PostData=$(HotelCode) Dest=../waplibcgi/HotelAvailHDML.pl>
<Action Type=Prev Label=City>
<Center>Web Inns<br> <Center>Los Angeles
<CE Value="LAAirport">Airport <CE Value="LANorth">North <CE Value="LASouth">South <CE Value="LACenter">City Center
</Choice>
<Choice Name=Orlando Key=HotelCode>
<Action Type=Accept Label=Pick Task=GO Method=Post PostData=$(HotelCode) Dest=../waplibcgi/HotelAvailHDML.pl>
<Action Type=Prev Label=City>
<Center>Web Inns<br> <Center>Orlando
<CE Value="ORAirport">Airport <CE Value="ORNorth">North <CE Value="ORSouth">South <CE Value="ORCenter">City Center
</Choice>
<Choice Name=SanFrancisco Key=HotelCode>
<Action Type=Accept Label=Pick Task=GO Method=Post PostData=$(HotelCode) Dest=../waplibcgi/HotelAvailHDML.pl>
<Action Type=Prev Label=City>
<Center>Web Inns<br> <Center>San Francisco
<CE Value="SFAirport">Airport <CE Value="SFNorth">North <CE Value="SFSouth">South <CE Value="SFCenter">City Center
</Choice>
<Choice Name=WashingtonDC Key=HotelCode>
<Action Type=Accept Label=Pick Task=GO Method=Post PostData=$(HotelCode) Dest=../waplibcgi/HotelAvailHDML.pl>
<Action Type=Prev Label=City>
<Center>Web Inns<br> <Center>Washington, DC
<CE Value="DCAirport">Airport <CE Value="DCNorth">North <CE Value="DCSouth">South <CE Value="DCCenter">City Center
</Choice>
</HDML>
Первый элемент в файле сообщает браузеру (или другим программистам) информацию о версии спецификации HDML, поддерживаемой приложением. Крометого, параметр Markable=True определяет, что браузер может устанавливать наHDML-странице закладку, а параметр TTL=0 предписывает браузеру не выполнятькэширование HDML-страницы. Для обеспечения возможности выбора требуемого
города приложение использует элемент <Choice>. На основе сделанного пользователем выбора выполняется ветвление программного кода и переход на второйэлемент <Choice>, обеспечивающий возможность выбора гостиницы. После тогокак пользователь указывает конкретную гостиницу, приложение запускает Peri-сценарий HotelAvailHDML.pl, который выводит на экран приглашение пользователю на ввод регистрационных данных.