Деки. Дека определяется элементом wml
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN""http://www.wapforum.com/DTD/wml_1.1.xml">
<wml>
<card>
<p>Hello World!</p>
</card>
</wml>
Задачи. Элемент: Do Атрибуты:
type указывает микроброузеру назначение кнопки. В WML определяется девять типов, но в подавляющем большинстве случаев используются «accept» и «options». label значение этого атрибута используется для замены названия кнопки. Это помогает кастомизировать приложения. Количество символов на кнопке ограничено возможностями устройства. name установка этого атрибута дает возможность разработчику воспользоваться преимуществами иерархической структуры WML-документа. Элемент «do» с именем «one» унаследует свойства определенные элементу с таким же именем в элементе «template» этой деки. optional указывает микроброузеру на необязательность показа этой кнопки в случае если атрибуту присвоено значение true.Элемент: Go Атрибуты:
href URL. sendreferer этот атрибут необходим серверу в списках контроля доступа. Его значение указывает броузеру на то, что необходимо отослать на сервер URL минимально возможной длины. method может принимать значение либо «post» либо «get». Значение аналогично HTML. accept-charset указывает кодировку, в которой микроброузер должен посылать ссылку.Небольшой пример простейшей навигации.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.com/DTD/wml_1.1.xml">
<wml>
<card id="Start">
<do type="accept">
<go href="#nextCard"/>
</do>
<p>Hello World!</p>
</card>
<card id="nextCard">
<do type="options">
<prev/>
</do>
<p>Next Card!</p>
</card>
</wml>
Элемент: Setvar Атрибуты:
name имя, присваемое переменной. Переменная так же может выполнять эту функцию, например:
<setvar name=$bogus value=$bear>.
value значение, присваемое переменной.Элемент: Postfield Атрибут:
name имя, присваемое переменной. Переменная так же может выполнять эту функцию, например:
<postfield name=$bogus value=$bear>.
value значение, присваемое переменной.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.com/DTD/wml_1.1.xml">
<wml>
<card id="Start" label="Bob's CGI">
<do type="accept">
<setvar name="lastExecuted" value="bob.cgi"/>
<go href="bob.cgi" method="post">
<postfield name="one" value="one one"/>
<!-- the server should be able to tell that
there are two values for the key one. -->
<postfield name="one" value="one"/>
<postfield name="two" value="two two"/>
</do>
<p>Hello World!</p>
</card>
</wml>
Элемент: Anchor Атрибуты:
title имя элемента. Микроброузер может воспользоваться этим атрибутом по своему усмотрению. При перемещении курсора на анкор, микроброузер может вывести его имя в софт-кнопке.Элемент: A Атрибут:
href URL на который ссылается анкор. У этого элемента нет дополнительных атрибутов позволяющих указать статус ссылки или ее метод. Если необходимы эти опции можно воспользоваться элементом «anchor» с внедренным в него элементом «go»:
<anchor>
click me
<go href="#clickedMe"/>
</anchor>
<a href="#clickedMe">click me</a>
События. Элемент: Onevent Атрибуты:
type Тип события, которое будет обрабатыватьсяСуществует четыре типа событий:
onenterbackward -cработает при выборе элемента «prev». onenterforward cработает при вызове карты. onpick cработает при выборе опции в списке элемента «select». ontimer cработает по истечении времени у элемента «timer».
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML
1.1//EN""http://www.wapforum.com/DTD/wml_1.1.xml">
<wml>
<card id="start">
<do type="accept">
<go href="two"/>
</do>
<p>Choose Accept.</p>
</card>
<card id="two">
<do type="accept">
<go href="three"/>
</do>
<onevent type="onenterbackward">
<prev/>
</onevent>
<p>Choose Accept</p>
</card>
<card id="three">
<do type="accept">
<prev/>
</do>
<p>Choose Accept.</p>
</card>
</wml>
Структура Элемент: Access Атрибуты:
domain имя домена для запрета доступа. Микроброузер будет просматривать и сравнивать со значением этого атрибута все имена доменов встречающиеся в документе. Так если "<access domain="motorola.com"/>" броузер сможет зайти на "http://www.motorola.com/", но не сможет зайти на «http://www.rola.com» или на «http://www.motorola.net». path путь для сравнения. Работает примерно так же как и атрибут домен. Так если «<access path="/internal"/>» путь «/internal/wml» пройдет проверку, в то время как «/internal-wml» нет.Элемент «Access» с примерно такими атрибутами: «<access domain="motorola.com" path="/spin"/>» разрешит ссылку на деку только со следующих адресов: http://www.motorola.com/spin/getuid.cgi https://www.motorola.com/spin/index.wml http://www.motorola.com/spin/madk/create_index.cgi?x=123&y=234 А с этих запретит: http://www.mot.com/spin/getuid.cgi http://www.motorola.com/internal/spin/getuid.cgi Элемент: Card События:
onenterbackward cработает при выборе элемента «prev». onenterforward cработает при вызове карты. ontimer cработает по истечении времени у элемента «timer».Атрибуты:
id атрибут, позволяющий сослаться на эту карточку из других элементов. Ссылка на карточку состоит из символа «#» и значения ее атрибута id (#nextcard). title значение этого атрибута может быть использовано для озаглавливания экрана, в котором отображается карточка, а также может появится в списке ранее посещенных страниц, а также в любом другом месте по усмотрению микроброузера. newcontext может быть использован для того, чтобы сбросить состояние деки. Этот атрибут может иметь значение «true» или «false». ordered сообщает микроброузеру принадлежит ли эта карта к упорядоченному списку карт или нет. Разработчики могут использовать этот атрибут по своему усмотрению и разрабатывать либо деку с последовательным просмотром карточек, либо состоящую из одной большой карточки.Немного более сложная дека в качестве примера:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
<access domain="motorola.com" path="/spin"/>
</head>
<template>
<do type="accept" name="accept1" label="OK">
<go href="#accept"/>
</do>
</template>
<card id="start" title="Start Here">
<p>
Start Here.
</p>
</card>
<card id="accept" title="Okay Card">
<do type="accept" name="accept1" label="Okay">
<go href="#accept2"/>
</do>
<p>
Card Accept
</p>
</card>
<card id="accept2" title="OK Card" >
<do type="accept" >
<go href="#start" />
</do>
<p>
Card Accept2
</p>
</card>
</wml>
Управление. Управляющими элементами в WML являются элементы «select» и «input». У каждого есть несколько подэлементов, а также механизм группировки, для приведения нескольких относящихся друг к другу элемементов ввода к одной логике. Также тут присутствует атрибут tabindex. этот атрибут определяет последовательность в которой происходит передвижение по элементам. Элемент: Select Атрибуты:
multiple по умолчанию равно «off». При включении этого атрибута пользователь может выбрать несколько элементов из предложенного списка. name обозначает имя переменной в которой будет храниться значение введенной в этом поле информации. value значение элемента по умолчанию. iname имя выбранного элемента(ов) списка. Значение «0» означает, что в списке нет элементов. Нумерация элементов списка начинается с «1» и постепенно увеличивается. ivalue имя переменной, в которой содержится значение(я) выбранных элементов списка. Несколько значений можно ввести, разделяя их «;», например (1;2) . Нельзя вводить пустое значение переменной. Так значение (1;;2) неправильно. title заголовок. Указывается для того, что бы микроброузер определил тип навигационного элемента. tabindex очередь следования этого элемента относительно других. Реализация зависит от броузера.Элемент: Option Атрибуты:
value значение, присваемое переменной элемента select, в случае выбора этой опции. title заголовок. В зависимости от микроброузера может не выводиться на экран. onpick URL на который пойдет микроброузер, в случае выбора этой опции.Элемент: Optgroup Атрибуты:
title заголовок. В зависимости от микроброузера может не выводиться на экран.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<p>
Bogus:
<select name="bogus">
<optgroup title="one">
<option value="uno">uno</option>
<option value="eins">eins</option>
</optgroup>
<optgroup title="two">
<option value="dos">dos</option>
<option value="zwei">zwei</option>
</optgroup>
</select>
</p>
</card>
</wml>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<template>
<do type="options" label="Back">
<prev/>
</do>
</template>
<card id="lists">
<p>
<select title="Pick Lists">
<option onpick="#single">Single</option>
<option onpick="#multiple">Multiple</option>
</select>
</p>
</card>
<card id="single">
<onevent type="onenterbackward">
<prev/>
</onevent>
<do type="accept">
<go href="#display_fav"/>
</do>
<p>
Pick your fav Stooge:
<select name="fav" title="Stooges">
<option value="Moe">Moe</option>
<option value="Shemp">Shemp</option>
<option value="Larry">Larry</option>
<option value="Curley">Curley</option>
<option value="Curley Joe">Curley Joe</option>
</select>
</p>
</card>
<card id="multiple">
<onevent type="onenterbackward">
<prev/>
</onevent>
<do type="accept">
<go href="#display_fav"/>
</do>
<p>
Pick your fav Marx Bro.
<select multiple="true" title="Marx Bros" name="fav" >
<option value="Groucho">Groucho</option>
<option value="Harpo">Harpo</option>
<option value="Chico">Chico</option>
<option value="Zeppo">Zeppo</option>
</select>
</p>
</card>
<card id="display_fav">
<p>
Your fav was $fav.
</p>
</card>
</wml>
Элемент: Input Атрибуты:
name то же, что и в элементе select. обозначает имя переменной в которой будет храниться значение введенной в этом поле информации. value значение поля по-умолчанию. type имеет значение либо «text» либо «password». В зависимости от микроброузера поле типа «password» может отображаться на дисплее видимым текстом. format маска ввода.A Любая буква в верхнем регистре [A-Z] a. Любая буква в нижнем регистре и пунктуация [a-z] N любая цифра [0-9] X любой символ в верхнем регистре [A-Z,0-9] x любой символ в нижнем регистре [a-z,0-9] M любой символ m любой символ *f любое количество символов определенного формата, например *N любое количество цифр nf «n» это целое число так например «3A» означает 3 буквы в верхнем регистре или пунктуации. \c символ ввода, так например «\(3N\)\ \3N\-4N» означает номер телефона с кодом местности в американском формате. emptytok разрешает пустой ввод. size ширина поля ввода. Реализация зависит от броузера. Maxlength определяет максимальное количество вводимых. Title заголовок, показывается броузером в некоторых случаях. Рекомендуется использовать атрибут title во всех элементах, которые им располагают, потому что в некоторых телефонах заполнение поля ввода реализовано в виде отдельного окошка, при этом title будет выводится в качестве напоминания, какое именно поле в настоящий момент заполняет пользователь.Элемент: Fieldset использование зависит от микроброузера. Атрибуты:
title заголовок
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN""http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<template>
<do type="options" label="Back">
<prev/>
</do>
</template>
<card id="fields">
<p>
Field Type:
<select title="Field type">
<option onpick="#nested">Nested</option>
<option onpick="#password">Password</option>
</select>
</p>
</card>
<card id="nested">
<onevent type="onenterbackward">
<prev/>
</onevent>
<do type="accept" label="Done">
<go href="#done"/>
</do>
<p>
First Name:
<input title="First" name="fname"/>
Last Name:
<input title="Last" name="lname"/>
Gender:
<select title="Gender" name="gender">
<option value="male">Male</option>
<option value="female">Female</option>
</select>
</p>
</card>
<card id="done">
<p>
$fname $lname is a $gender.
</p>
</card>
<card id="password">
<onevent type="onenterbackward">
<prev/>
</onevent>
<do type="accept" label="Done">
<go href="#passwd_done"/>
</do>
<p>
Input a password:<br/>
Min 3 chars.
<input title="Password" name="passwd" type="password"
format="*m"/>
</p>
</card>
<card id="passwd_done">
<p>
Password was $passwd.
</p>
</card>
</wml>
Таймер Элемент: timer Атрибуты:
value промежуток времени в десятых долях секунды.
<?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="first" ontimer="#next">
<timer value="100"/>
<p>Wait ten seconds</p>
</card>
<card id="next">
<timer value="10"/>
<onevent type="timer">
<go href="#first"/>
</onevent>
<p>Подождите минутку</p>
</card>
</wml>
Текст У элемента p нет атрибутов. У элемента br нет атрибутов.
|