Тема: Wml
Показать сообщение отдельно

Часть 2
  #2  
Старый 22.03.2008, 01:26
Dimi4
Reservists Of Antichat - Level 6
Регистрация: 19.03.2007
Сообщений: 953
Провел на форуме:
7617458

Репутация: 3965


Отправить сообщение для Dimi4 с помощью ICQ
По умолчанию Часть 2

Существует четыре типа событий:

onenterbackward
Сработает при выборе элемента "prev"

onenterforward
Сработает при вызове карты

onpick
Сработает при выборе опции в списке элемента "select"

ontimer
Сработает по истечении времени у элемента "timer".
PHP код:
<?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 - сообщает микроброузеру принадлежит ли эта карта к упорядоченному списку карт или нет. Разработчики могут использовать этот атрибут по своему усмотрению и разрабатывать либо деку с последовательным просмотром карточек, либо состоящую из одной большой карточки.

Немного более сложная дека в качестве примера:
PHP код:
<?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 - заголовок. В зависимости от микроброузера может не выводиться на экран.
PHP код:
<?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 - Заголовок
PHP код:
<?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 - промежуток времени в десятых долях секунды.
PHP код:
<?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.tay.ru/

Последний раз редактировалось Dimi4; 22.03.2008 в 01:29..