Рассмотрение приложения YellowPages.hdml
Рассмотрение приложения YellowPages.hdml
Как и приложение на WML, YellowPages.hdml предоставляет пользователювозможности поиска компании по названию, городу и штату, почтовому коду (zip)или электронному адресу. Для выполнения большей части обработки приложение использует Peri-сценарий. Приложение YellowPages.hdml реализуется с помощью следующего программного кода на HDML:
<HDML Version=3.0 Markable=True TTL=0>
<Entry Name=Start Format=15M Key=BizName Default="">
<Action Type=Accept Task=GO Dest=#GetSearch>
<Center>Yellow Pages <br><br>Search for: <br>(Name or type)
</Entry>
<Choice Name=GetSearch Method=Alpha>
Location:
<CE Task=GO Dest=#ZipCode>Zip Code <CE Task=GO Dest=#City>City/State <CE Task=GO Dest=#GetInfo Vars=ZipCode=&CityName=&StateName=&Online=True>Online
</Choice>
<Entry Name=ZipCode Format=NNNNN Key=ZipCode Default="">
<Action Type=Accept Task=GO Dest=#GetInfo Vars=CityName=&StateName=&Online=> Enter Zip Code:
</Entry>
<Entry Name=City Format=15M Key=CityName Default="">
<Action Type=Accept Task=GO Dest=#State Vars=ZipCode=&Online=> Enter City:
</Entry>
<Entry Name=State Format=AA Key=StateName Default="">
<Action Type=Accept Task=GO Dest=#GetInfo> Enter State:
</Entry>
<Display Name=GetInfo>
<Action Type=Accept Task=GO Label=Find Method=Post PostData=$(BizName:noesc)&$(ZipCode)&$ (CityName:noesc)&$(StateName)&$(Online) Dest=../waplibcgi/YellowPagesHDML.pl>
Search for:<br> Business: $BizName<br> Zip Code: $ZipCode<br> City/St: $CityName$StateName<br> Online: $Online
</Display>
</HDML>
Первый элемент в файле сообщает браузеру (или другим программистам) информацию о версии спецификации HDML, поддерживаемой приложением. Крометого, параметр Markable=True определяет, что браузер может устанавливать наHDML-странице закладку, а параметр TTL=0 предписывает браузеру не выполнятькэширование HDML-страницы.
Приложение начинается с элемента <Entry>, обеспечивающего отображениеприглашения пользователю на ввод наименования компании. Затем приложениеиспользует элемент <Choice>, который, при наличии у пользователя желания,позволяет вести поиск по почтовому коду (zip), городу и штату или по электронному адресу. На основе введенной информации выполняется ветвление программного кода и переход на именованный элемент <Entry>, отображающийприглашение пользователю на ввод соответствующих данных. После того какпользователь введет необходимую информацию, выполняется ветвление программного кода приложения и переход на элемент Getlnfo, который, в своюочередь, запускает Peri-сценарий YellowPagesHDML.pl, чтобы обработать данные,введенные пользователем.