Описание тегов
WML (переведено из документации Motorola SDK)
Деки
Дека
определяется элементом 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
Сработает при выборе элемента "prev"
onenterforward
Сработает при вызове карты
onpick
Сработает при выборе опции в списке элемента "select"
ontimer
Сработает по истечении времени у элемента "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
Сработает при выборе элемента "prev"
onenterforward
Сработает при вызове карты
ontimer
Сработает по истечении времени у элемента "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 нет атрибутов
В статье были использованны
материалы с сайта http://www.mydatabank.ru