Рассмотрение приложения Restaurant.hdml
Рассмотрение приложения Restaurant.hdml
Как и приложение, основанное на WML, Restaurant.hdml позволяет отображатьадрес и номер телефона, используя для этого портативное устройство пользователя. Кроме того, при желании, пользователь также может автоматически позвонить в ресторан. Приложение Restauranthdml реализуется с помощью следующего программного кода на HDML:
<HDML Version=3.0 Markable=True TTL=0>
<Choice Name=GetRestType Key=RestType>
<Action Type=Accept Label=Pick Task=GO Method=Post PostData=$RestType Dest=../waplibcgi/RestCallTypeHDML.pl>
<Center>Restaurants
<CE Value="American">American <CE Value="Chinese">Chinese <CE Value="FastFood">Fast Food <CE Value="HealthFood">Health Food <CE Value="Italian">Italian <CE Value="Mexican">Mexican <CE Value="Seafood">Seafood
</Choice>
</HDML>
Первый элемент в файле сообщает браузеру (или другим программистам) информацию о версии спецификации HDML, поддерживаемой приложением. Крометого, параметр Markable=True определяет, что браузер может устанавливать наHDML-странице закладку (Bookmark), а параметр TTL=0 предписывает браузеру невыполнять кэширование HDML-страницы. Для предоставления пользователювозможности указывать тип предпочитаемой кухни приложение использует элемент <Choice>. Затем приложение запускает Peri-сценарий RestCallTypeHDML.pl,чтобы отобразить на экране список названий ресторанов, из которых пользователь может сделать свой выбор. Peri-сценарий RestCallTypeHDML.pl реализуется спомощью следующего программного кода: #!/usr/bin/perl
read (STDIN, $RestType, $ENV{'CONTENT_LENGTH'});
if ($RestType eq "American")
{ $Deck = "Content-type: text/x-hdml
<HDML Version=3.0 Markable=True TTL=0>
<Choice Name=GetAmerican Key=RestName>
<Action Type=Accept Label=Pick Task=GO Method=Post PostData=\$RestName Dest=RestCallAmerHDML.pl>