Материал предоставлен Кунегиным С. В. Другие материалы по информационным и технологиям (связь, сети, телевидение, безопасность и др.) Вы можете посмотреть на сайте kunegin.narod.ru
Описание тегов 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 нет атрибутов
<предыдущая страница]
[оглавление] [следующая страница>
|