Рассмотрение приложения 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, который выводит на экран приглашение пользователю на ввод регистрационных данных.