Введення в WML (исходники, документація), Документація, Програмування, статті

Вступ


WML – мова розмітки, заснований на XML (extensible Markup Language). Офіційна специфікація WML розроблена та підтримується WAP Forum, виробничим консорціумом, заснованому Nokia, Phone.com, Motorola і Ericsson. Ця специфікація визначає синтаксис, змінні і елементи використовуються в файлах WML. Останнє визначення типу документа (Document Type Definition) для тих, хто знайомий з XML, доступні за адресою: http://www.wapforum.org/DTD/wml_1.1.xml

У телефоні або в будь-якому іншому комунікаційному пристрої, заявленому як WAP-сумісний, додано спеціальне програмне забезпечення (відоме як мікроброузер), яке повністю розуміє, як обробляти всі варіації WML 1.1 DTD.

Найперша фраза всередині будь-якого XML-документа називається пролог. Оскільки стандартний, він містить два рядки коду: визначення версії XML і DTD (покажчик на файл, що містить DTD)

Пролог виглядає наступним чином.

<?xml version=”1.0″?>
<!DOCTYPE wml PUBLIC “-//WAPFORUM//DTD WML 1.1//EN”
“http://www.wapforum.org/DTD/wml_1.1.xml”>

Слідом за прологом, в кожному XML-документі міститься один єдиний елемент, який містить в собі інші піделементи і entities. Так само як і в HTML цими елементами є кутові дужки: <> і </>. Наприклад: <element> data </ ​​element>. У документі повинен міститися лише один елемент описує сам документ. В WML цим елементом є <wml>. Всі інші елементи містяться вже всередині нього.

Два найпоширеніші способи зберігання інформації всередині XML-документа це елементи та їх атрибути. Елементи визначають структурну розмітку всередині документа відкриттям і закриттям певних тегів. Елементи, в свою чергу можуть містити піделементи. Атрибути в основному використовуються для опису елементів. Як приклад можна навести такий шматочок коду:

<!– This is the Login Card –>
<card id=”LoginCard” title=”Login”>
Please select your user name.
</card>

У цьому прикладі елемент card містить атрибути id і title. Коментар в WML, також як і в HTML укладається між тегами <! – І ->. Надалі ми будемо використовувати елементи та їх атрибути для написання прикладів.

Правильні WML елементи.


В WML описується набір елементів, які можна комбінувати для створення WML-документа. Ці елементи можна умовно розділити на дві групи: Елементи типу Deck / Card і елементи обробки подій.

Елементи типу Deck / Card

wml card template head access meta

Елементи обробки подій

do ontimer onenterforward onenterbackward onpick onevent postfield

Завдання

go prev refresh noop

Змінні


setvar

Введення користувача


input select option optgroup fieldset

Анкор, Картинки і Таймери

a anchor img timer

Форматування тексту


br p table tr td

Кожен з цих елементів може бути використаний в документі використовуючи наступний синтаксис.

<Елемент> значення елементу </ елемент>

Якщо елемент не містить усередині себе будь яку інформацію (зазвичай таке трапляється з елементом форматування <br>), ви можете використовувати тег з доданим до нього "/" (наприклад <br/>).

Будівництво додатків за допомогою WML


WML був розроблений для для пристроїв з низькою пропускною здатністю і маленьким дисплеєм. У якості складової цього дизайну була застосована концепція дек і карт. Один WML-документ (а точніше елементи, містяться всередині елемента <wml>) називається декою (deck). Інтерактивна взаємодія з користувачем здійснюється за допомогою карт (card). Гідність такої реалізації полягає в тому, що кілька екранів можуть бути завантажені на клієнтський пристрій за один раз. Використовуючи WMLScript, обробка дій користувача може бути проведена з використанням знаходяться в одній деці карт, виключаючи тим самим множинні транзакції з сервером. Звичайно, у зв'язку з обмеженими ресурсами клієнтського пристрою виникає інша проблема. Тому вам цілком можливо доведеться розкидати ваші карти з різних деками у уникнення надмірного збільшення обсягу одного файлу.

Використання змінних


Оскільки, як ми говорили раніше, в одній деці може мати декілька карт, нам буде потрібно механізм зберігання інформації з однієї картки для її подальшого використання в іншій. Цей механізм забезпечується змінними. Змінні можуть бути створені й визначені, використовуючи кілька різних методів.


Незважаючи на те, що ми не описує WMLScript, слід зазначити, що WML і WMLScript використовують одні й ті ж змінні в рамках однієї деки.

Створюємо деку


У цьому прикладі, ми почнемо створювати деку, яка дозволяє нам спочатку вибрати ім'я користувача із запропонованого списку, потім ввести пароль після чого виводить на екран отримані дані.

<?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=”Login” title=”Login”>
<do type=”accept” label=”Password”>
<go href=”#Password”/>
</do>
<p>
UserName:
<select name=”name” title=”Name:”>
<option value=”John Doe”>John Doe</option>
<option value=”Paul Smith”>Paul Smith</option>
<option value=”Joe Dean”>Joe Dean</option>
<option value=”Bill Todd”>Bill Todd</option>
</select>
</p>
</card>
<card id=”Password” title=”Password:”>
<do type=”accept” label=”Results”>
<go href=”#Results”/>
</do>
<p>
Password: <input type=”text” name=”password”/>
</p>
</card>
<card id=”Results” title=”Results:”>
<p>
You entered:<br/>
Name: $(name)<br/>
Password: $(password)<br/>
</p>
</card>
</wml>

Як ви напевно вже помітили, спочатку прикладу йде пролог, в якому ми визначаємо версію XML і DTD для нашого документа. Потім слід елемент <wml>, дека яка містить три карти: Login, Password і Result. Кожна з цих карт визначається з використанням елементу <card>. Оскільки карти Login і Password визначають події, вони використовують елемент <do type="accept"> для визначення події яке відбудеться, коли користувач закінчить введення.

Якщо ми визначаємо елемент <do> типом "accept" він з'являється на екрані в якості опції

Вибір цієї опції приведе до аналізу введеної користувачем інформації.

Атрибут "href" тега <go> працює так само, як і в елементі <a> з HTML. Також як і в HTML, для того, щоб на екран вивелася інша карти з активної деки, на неї треба послатися використовуючи символ "#" Перед ім'ям карти.

<go href=”#result”/>

Ця карта обробляє користувача введення і використовуючи визначені в попередній карті змінні виводить їх вміст на екран. Виклик змінних здійснюється наступним чином:

$(variable_name)

Виклик скрипта


Без можливості проводити різні операції з інформацією на сервері, WML залишився б просто засобом форматованого виведення тексту. Додавання такої можливості, навпаки, відкриває будь WAP-сумісного пристрою шляхи передачі повідомлень через Інтернет, промислового використання на підприємстві та електронної комерції. WAP-сумісний пристрій взаємодіють з подібними джерелами інформації через WAP-шлюз. Цей шлюз повинен вміти взаємодіяти з різними стандартами стільникового зв'язку, такими як CDMA, GSM або GPRS. Однак, цілком можливо встановити тестовий шлюз в поєднанні з популярними веб-серверами (Такими як MS IIS або Apache) прямо у вашій локальній мережі. Ми не будемо тут сильно вдаватися в деталі процесу установки шлюзу, однак не можна не застерегти вас від самої поширеної помилки. Вам обов'язково потрібно додати визначення наступних типів в конфігурацію веб-сервера.

WML text/vnd.wap.wml wml
WMLScript text/vnd.wap.wmlscript wmls

Тепер ми розглянемо невеликий прімерчік в якому вам буде запропоновано зробити вибір якоїсь однієї опції а потім на основі цього вибору з сервера буде завантажена певна інформація. Для цього прикладу ми використовуємо ASP. З тим же успіхом ми могли написати скрипт використовую Javascript, Servlets, Perl або будь яку іншу мову. У наступному лістингу приведений вихідний код для нашої нової деки. В ній міститься всього один елемент <select>, який пропонує користувачеві вибір з декількох опцій. Елемент <go> викликає серверний скрипт з певними параметрами.

<?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=”Order” title=”Query Inventory”>
<p>
<select name=”Items” title=”Items”>
<option value=”Books”>Books</option>
<option value=”Music”>Music</option>
<option value=”Video”>Video</option>
<option value=”Software”>Software</option>
</select>
</p>
<do type=”accept” label=”Query”>
<go href="http://127.0.0.1/WML/Inventory.asp" method="post">
<postfield name=”Items” value=”$(Items)”/>
</go>
</do>
</card>
</wml>

Скрипт показаний на лістингу 3 обробляє отриману з деки інформацію і виводить на екран результат.

<%
Dim Body
If Request.Form(“Items”) = “Books” Then
Body = “You selected Books!”
ElseIf Request.Form(“Items”) = “Video” Then
Body = “You selected Video!”
ElseIf Request.Form(“Items”) = “Software” Then
Body = “You selected Software!”
ElseIf Request.Form(“Items”) = “Music” Then
Body = “You selected Music!”
End If
Response.ContentType = “text/vnd.wap.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>
<p>
<%Response.write(Body)%>
</p>
</card>
</wml>

Кілька речей необхідно нагадати для тих, хто захоче повторити цей приклад у своїх умовах. Ви обов'язково повинні "зареєструвати" MIME типи на своєму сервері для того, щоб файли WML і WMLScript правильно оброблялися і відображалися сервером.

.wml text/vnd.wap.wml
.wmls text/vnd.wap.wmlscript

Якщо ви хочете використовувати картинки (WBMP) вам також необхідно додати і цей MIME-тип:

.wbmp image/vnd.wap.wbmp

Висновок


WML надає розробникам абсолютно нову чудову платформу для створення додатків. Ця платформа кидає нам новий виклик. Нові нюанси, пов'язані з низькою пропускною здатністю, маленьким екраном і різними серверними заморочками, додадуться в процес дизайну. Незважаючи на те, що виробникам доведеться пройти різні стадії усвідомлення нових можливостей і обмежень для того щоб зуміти нарешті досить виразно сформулювати комерційну пропозицію, WAP відкриває широкі двері в нову еру розробки і розгортання додатків.

Опис тегів (переведено з документації 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="./020920111200008323.html" 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=”/img/020920111200008323.html”/>
</do>
<p>Choose Accept.</p>
</card>
<card id=”./020920111200008323.html”>
<do type=”accept”>
<go href=”/img/020920111200008324.html”/>
</do>
<onevent type=”onenterbackward”>
<prev/>
</onevent>
<p>Choose Accept</p>
</card>
<card id=”./020920111200008324.html”>
<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=”./020920111200008323.html”>
<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 – Будь-яка буква у верхньому регістрі [AZ]
a Будь буква в нижньому регістрі і пунктуація [az]
N – будь-яка цифра [0-9]
X – будь-який символ у верхньому регістрі [AZ ,0-9]
x – будь-який символ в нижньому регістрі [az ,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 немає атрибутів

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*