ВСЕ О WAP&WML
TanaT (TanaT@yes.ru)
Спецвыпуск Xakep, номер #020, стр. 020-018-3
Теперь посмотрим, из каких же основных частей состоит любой корректный WML-код. А состоит он из заголовка и карт, объединенных в колоды. С заголовком все достаточно просто: это три стандартные строчки, содержащие информацию о номере версии XML, идентификаторе SGML-описания языка WML и веб-адресе DTD-определения WML-документа. Чаще всего кодеры пользуются WML-редакторами, которые вставляют эти данные в страницу автоматически. Так что запоминать это не обязательно. Для полноты картины надо отметить, что заголовок обычно имеет следующий вид:
<!-- Это номер версии XML -->
<?xml version="1.0"?>
<!-- Идентификатор SGML-описания языка WML -->
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
<!-- Веб-адрес DTD-определения WML-документа -->
"http://www.wapforum.org/DTD/wml_1.1.xml">
Кстати, комментарии в WML вводятся точно так же, как и в HTML: между двумя тегами <!-- и -->. Также обрати внимание на адрес: http://www.wapforum.org/DTD/wml_1.1.xml. Надеюсь, теперь ты понимаешь всю роль компании WAP Forum в организации связи между Интернетом и мобильными средствами связи :))) ?
После заголовка следуют карты, объединенные в колоды (или деки). Это уже абсолютно новые понятия, появившиеся в WML и отличающие его и от HTML, и от XML. Карта это совокупность страничек, а колода это совокупность карт, загружаемых за один раз. Зачем они нужны? Дело в том, что экран микробраузера достаточно мал, поэтому грузить страницы раздельно друг от друга просто невыгодно, так как на это будет тратиться много времени. А загружать страницы "пачками" намного быстрее. Такими пачками и являются карты. Далее поднимаемся еще на один уровень выше: карты тоже легче грузить не по одной, а колодами. В этих двух понятиях и состоит основное отличие WML-документов. Для каждого микробраузера (мобильного телефона) существует свой собственный максимальный размер колоды. Обычно он не превышает 8 кб (помни, ведь маленькие "мозги" твоего мобильника - это не CPU от Intel с КЭШами трех уровней). Все карты должны отделяться друг от друга заголовками, включающими в себя идентификатор карты и ее имя. Идентификатор служит лишь для вызова этой карты, например, из другой карты. Вот пример такого заголовка:
<!-- Пример заголовка карты -->
<card id="CardID" title="MyCard">
<!-- Здесь идет код -->
</card>
Как видишь, карта является контейнером, в котором размещаются элементы. Идентификатор карты и ее имя (в нашем примере это CardID и MyCard соответственно) являются атрибутами контейнера. Тэги форматирования практически совпадают с аналогичными из HTML (и по синтаксису, и по назначению). Например, выравнивание абзацев производится так:
Назад на стр. 020-018-2 Содержание Вперед на стр. 020-018-4
|