Создание WML страниц

На сегоднящний день, для создания wml-страниц (аналог (x)html-страниц для мобильных устройств) используется либо язык разметки wml (wireless markup language), либо xhtml. Оба языка разметки основаны на xml и подчиняются правилам форматирования xml-документа. xhtml поддерживается не всеми сотовыми телефонами, поэтому в данной статье будет рассмотрен wml.
Здесь не будут описываться стандартные теги, особенно те которые не отличаються от тэгов, используемых при создании обычных (x)html-страниц.
Структура wml документа
Вся информация в wml содержится в так называемых деках. Дек — это минимальный блок данных, который может быть передан сервером. В деках находяться карты (<card>) в одной деке всегда должна быть хоть одна карта, но может быть и несколько — ограничений нет.
Рассмотрим посторочно код простейшей wml-страницы:
<?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="WClub">
<p>
<a href="/">Home</a><br/>
<a href="/games/">Games</a><br/>
<a href="/appl/">Applications</a><br/>
<img src="/logo.jpg" 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-документа и определяющий набор правил для xml-документа в котором стоит на него ссылка. Эти две строки предваряют собственно элементы языка и должны содержаться в каждом wml-файле.
wml — открывающий тэг, аналогичен по смыслу тегу html в html-документах.
card — собственно тэг начинающий карту, соответствуюет тэгу body в html-документе, но в отличие от body может поторяться в документе несколько раз.
Новая строка начинается с тэга <br/>. Стоит отметить, что слэш в конце тэгов, не имеющих завершающего тэга обязателен в xml документах, иначе анализатор сообщает об ошибке. Все дополнительные данные закрываються двойными ковычками (title="hello!").
Дека - <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 Кб, в зависимости от модели телефона и оператора сотовой связи. Поэтому количество карт не должно превышать разумного предела.
Нас же, как веб-разработчиков интересуют именно создание и поддержка wap-ресурсов, об этом читайте в разделе WML.
WML, 20/11/2006
Fork09
