Краеугольный камень WML-дизайна - колода игральных карт - набор показываемых по отдельности карточек (экранов), хранящихся в памяти. То есть, если для обычного сайта единицей является Web-page, то единица WML - это т. н. deck, состоящая из одной или нескольких card, составляющих вместе WML-документ (wml-файл).
Как только wml-файл загружен в устройство с сервера, пользователь может листать экраны, переходить к следующему или возвращаться к предыдущему, не ожидая загрузки с сайта, что, конечно, выгодно по скорости.
WML колода из одной карты
<wml> <card> <p>Welcome</p> </card> </wml>
Нетрудно заметить, что структура языка во многом родственна HTML: теги <wml>...</wml> начинают и завершают документ, а тело карт заключается в <card>...</card>.
Впрочем, пример выше еще не вполне завершен. WML - это ветвь XML, а любой XML-документ сначала должен пройти проверку на соответствие своему DTD (Document Type Definition). Следовательно, в любом wml-файле, как документе, необходимо указать полный путь к WML DTD.
В полном примере ниже DTD-ссылка указывает на сайт http://www.wapforum.org/ координирующий сегодня WAP-разработки, и это DTD описывает все обязательные элементы стандарта WML, интерпретируемые всеми микро-броузерами. Впрочем, если кому-то не так важно, что это такое, и не суть важны сторонние расширения, которыми тоже можно пользоваться на предмет правильности разметки, то можно просто копировать эту типовую декларацию, особо не задумываясь.
WML колода из трех карт
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="home" title="Welcome"> <p align="center">Taler's HP<br/> <img src="logo.wbmp" alt="home"/><br/> <do type="accept" label="next"><go href="#card1"/></do></p> </card> <card id="card1" title="Page 1"> <p>This is the first card.</p> <do type="accept" label="next"><go href="#card2"/></do> <do type="prev" label="back"><prev/></do> </card> <card id="card2" title="Page 2"> <p>This is the second card.</p> <do type="accept" label="home"><go href="#home"/></do> </card> </wml>
В Web есть программы-имитаторы, с помощью которых wml-файлы можно "видеть" даже без реального устройства, а просто на базе имеющегося броузера. К примеру, это посредник M3Gate (Dubna, Numeric Algorithm Lab) для платформы PC-Windows (1,4mb).
Для того, чтобы все выглядело "по настоящему", я реально поместил свой пример по адресу {home.wml}. И сейчас, если обратиться к этому адресу при установленном, скажем, M3Gate, вы увидите нечто, аналогичное рисунку справа.
Примечание: размер загружаемых в WAP-устройства файлов ограничен - не более что-то около 1.4k (1397, 1492, .. байт - граница зависит от устройства).