Создание WML страниц
В последнии года большую популярность приобретают разные беспроводные устройства доступа в интернет. Достаточно упомянуть, что 65% населения России имеют мобильные телефонами и аудитория посетителей интернета с мобильных устройств больше, чем с компьютерамов. Отличие классического браузера, который общается с сервером по протоколу HTTP, мобильные телефоны используют протокол WAP (Wireless Application Protocol). Этот протокол содержит набор правил, которому должны следовать как мобильные телефоны, так и WAP приложение.
Сейчас для создания WAP страниц (аналог HTML страниц для мобильных телефонов) применяют язык разметки WML (Wireless Markup Language) или xHTML. Эти языки разметки основаны на XML и соответствуют правилам форматирования XML-документа. xHTML поддерживают не все мобильные телефоны, поэтому в этой статье будет рассмотрен только WML.
Я не буду здесь описывать стандартные теги, так как большинство похожи на теги используемые для HTML страниц. Будет рассмотрена структура WML документа, и взаимодействие PHP скриптов с WML.
Глава 1 "Структура WML документа"
Вся информация в WML находится в так называемых деках. Дек — это наименьший блок данных, который может быть получен от сервера. В деках содержатся карты (
Простая wml страница взятая с WAP сайта siemens.com.
<?xml version="l.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card title="Siemens"> <p> <a href="http://communication-market.siemens.de/wap">Games and more</a><br/> <a href="http://communication-market.siemens.de/wap/countries.asp?content=rtlo">Sounds and graphics</a><br/> <a href="/content/index.php?a=a_this&r=">This is Siemens</a><br/> <a href="/content/index.php?a=a_ff_kf_kffy2004&r=">Key Figures</a><br/> <a href="/content/index.php?a=a_journal&r=">Siemens Journal</a><br/> <a href="/contact/index.php">Contact</a><br/> <img src="http://server-uk.imrworldwide.com/cgi-bin/wapcount?" alt=""/> </p> </card> </wml>
<?xml version="l.0"> - это стандартная инструкция, показывающая, что это XML-документ. Этот тэг так же содержит версию языка XML, необходимую для последующего расширений языка.
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> - объявляет тип документа — WML и адрес, по которому будет расположен файл с DTD. DTD (Document Type Definition) - описание типа документа, определяющее правила для XML документа в котором стоит ссылка на DTD. Эти две строчки должны содержаться в каждом WML-файле.
WML - открывающий тэг, соответствует тэгу <html> в HTML-документах.
CARD - тэг с которого начинается карта, соответствует тэгу <body> в HTML документе, но в отличие от него может повторяться несколько раз.
Каждая новая строчка начинается с тэга. Отметим, что слеш("/") в конце тэга, не имеющих завершающего тэга обязателен в XML документах, иначе будет сообщение об ошибке. Все другие данные закрываются двойными ковычками (title="test").
Дека - <wml></wml>
Карта - <card></card>
Пример страницы с несколькими картами:
<?xml version="l.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card title="card1"> <a href="#card2">Go to card2</a><br/> </card> <card title="card2"> <a href="#card1">Return card1</a><br/> </card> </wml>
Как видно все просто! Помните, что есть ограничение на общий размер WML файла, примерно 5-10 кб, это зависит от модели мобильного телефона и от оператора. Из этого следует, что количество карт должно оставаться в разумных пределах.
Глава 2 "Динамическая генерация". MIME-type. Конфигурирование сервера.
Чтобы из обычного Web сервера(к примеру Apache) сделать WAP сервер, нужно в конфигурационном файле httpd.conf найти раздел AddType и добавить следующую строку
AddType text/vnd.wap.wml .wml.
Когда WML страницы генерируются динамически, WAP браузеру нужно отправить заголовок, которые сообщает, что WAP браузер имеет дело не с HTML страницей, а с страницей предназнаеченной для мобильного телефона. Это можно сделать с помощью функции header
<?php # Посылаем заголовок который "обьясняет" клиенту, что перед ним WML страница header("Content-type: text/vnd.wap.wml"); ?>
Так сделать WML страницу при помощи PHP можно следующим образом
<?php # Отсылаем заголовок который "обьясняет" клиенту ,что это wml документ header("Content-type: text/vnd.wap.wml"); #Выводим саму страницу print ' <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> '; print ' <wml> <card id="id1" title="Card1"> Hello! People This is My first wml page! </card> </wml> '; ?>
Заключение
В этой статье я познакомил вас с тем, как сделать элементарную WML страницу. В следующих статьях я рассмотрю другие тэги и их применение.
инком загородная недвижимость в Москве
Автор: Бешкенадзе А.Г.
Источник: softtime.ru