voliuf.narod.ru

главная

друзья

помощь сайту

Основы WAP/WML и WMLScript 

Бесплатные учебники по темам

Партнерская программа

1.Введение. Таблицы, изображения и ссылки

2.Ввод и задачи в WML. Таймер и переменные

3.Введение в WMLScript и библиотека WMLScript Float

4.Библиотека Lang

5.Библиотека String

6.Библиотеки URL и WMLBrowser

Дополнительные материалы
Справочник по WAP
WML DTD


 


Основы WAP/WML и WMLScript 
2.Ввод и задачи в WML. Таймер и переменные
Поля ввода

На карте 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 title="Поля">
<p>
Surname: <input name="Фамилия" size="10"/><br/>
Name:  <input name="Имя" size="10" /><br/>
Second name:  <input name="Отчество" size="10"/><br/>
Age:  <input name="Возраст" size="10" format="*N"/>
</p>
</card>
</wml>

 

Данный код может иметь следующее представление на экране мобильного телефона:

 
-----------------------
----- Поля ----------
Фамилия:
Имя :
Отчество :
Возраст :
----------------------

 

Выбор варианта

На карте 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 title="Выбор">
<p>
<select>
<option value="c">Курс по C </option>
<option value="c++">Курс по C++</option>
<option value="java">Курс по Java </option>
</select>
</p>
</card>
</wml>

 

Данный код может иметь следующее представление на экране мобильного телефона:

 
----------------------------
--- Выбор---
Курс по C
Курс по C++
Курс по Java
-----------------------------

 

В следующем примере показан список выбора, в котором пользователь может отметить более одной позиции:

 
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title="Выбор2">
<p>
<select multiple="true">
<option value="c">Курс по C </option>
<option value="c++">Курс по C++ </option>
<option value="java">Курс по Java </option>
</select>
</p>
</card>
</wml>

 

Данный код может иметь следующее представление на экране мобильного телефона:

 
--------------------------
--- Выбор2---
  Курс по C
  Курс по C++
  Курс по Java
---------------------------

 

Группа полей

На карте 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 title="Поля">
<p>
<fieldset title="О курсе">
Author: <input name="Автор" type="text"/><br/>
Content: <input name="Содержание" type="text"/>
</fieldset>
</p>
</card>
</wml>

 

Данный код может иметь следующее представление на экране мобильного телефона:

 
----------------------------------
------- Поля --------
О курсе
 Автор: 
 Содержание:
----------------------------------

 

Задачи WML

Задача определяет действие, которое выполняется при наступлении события - например, входа на карту или нажатия ссылки.

 

Задача 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>
<p>
 <anchor>
  Вперед
  <go href="next.wml"/>
 </anchor>
</p>
</card>
</wml>

 

Задача Prev

Данная задача предписывает возврат к предыдущей карте.

 
<?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>
 <anchor>
  Назад
  <prev/>
 </anchor>
</p>
</card>
</wml>

 

Задача Refresh

Данная задача обновляет некоторые определенные переменные карты. При этом, если какая-либо из переменных выводится на экране, то экран будет обновлен. Следующий пример использует тег <anchor> для создания на карте ссылки "Обновить страницу". Когда пользователь нажмет эту ссылку, страница будет перерисована и для переменной a будет задано значение 15:

 
<?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>
 <anchor>
  Обновить
  <go href="first.wml"/>
  <refresh>
   <setvar name="a" value="15"/>
  </refresh>
 </anchor>
</p>
</card>
</wml>

 

В приведенном примере используется тег <anchor> для создания на карте ссылки "Обновить". Когда пользователь нажмет эту ссылку, страница будет перерисована и для переменной a будет задано значение 15.

 

Задача Noop

Noop является сокращением "no operation" - "нет операции". Таким образом, данная задача указывает, что делать ничего не надо, и используется, например, для переопределения элементов навигации между картами колоды.

 

Когда пользователь нажимает на экране слово/фразу, задача активизируется - для этого применяется тег <do>:

 
<?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>
 <do name="back" type="prev" label="Возврат">
  <noop/>
 </do>
</p>
<p>
Возврата нет
</p>
</card>
</wml>

 

В данном примере используется тег <do>, чтобы создать на карте ссылку "Возврат". Когда пользователь нажимает ссылку "Возврат", на экране должна была бы появиться предыдущая страница, но тег <noop> отменяет эту операцию. Таким образом, когда пользователь нажмет ссылку "Возврат", ничего не произойдет.

 

Элементы задач:

Начальный тег Назначение WML
<go> Переход к новой карте 1.1
<noop> Говорит, что ничего не надо делать. Используется для переопределения элементов уровня формы 1.1
<prev> Переход к предыдущей карте 1.1
<refresh> Обновляет некоторые определенные переменные карты 1.1
 

Таймер

На карте WML можно использовать функцию таймера WML. Единица измерения времени в таймере равна 1/10 секунды.

 
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card ontimer="next.wml">
<timer value="100"/>
<p>Заголовок</p>
</card>
</wml>

 

Данный пример выводит заголовок в течение 10 секунд, а затем происходит переход к файлу "next.wml".

 

Переменные WML

Переменные

Переменные сохраняют необходимые данные, когда пользователь перемещается в колоде с карты на карту. Необходимо помнить, что в именах переменных WML учитывается регистр символов.

 

Определение переменной с помощью команды Setvar

При выполнении задачи (такой, как go, prev и refresh) элемент setvar можно использовать для задания переменной с определенным значением. Атрибуты name и value являются обязательными для этого элемента.

 

В данном примере создается переменная с именем a и значением 100:

 
<setvar name="a" value="100"/>
 

 

 

Определение переменной с помощью элемента ввода

Переменные можно задавать также с помощью элемента ввода (например, input, select, option и т.д.).

 

В данном примере создается переменная с именем course:

 
<card id="first">
<select name="course">
<option value="c">Курс по C </option>
<option value="c++">Курс по C++ </option>
<option value="c#">Курс по C# </option>
<option value="java">Курс по Java </option>
</select>
</card>

 

Созданная в примере выше переменная используется следующим образом:

 
<card id="second">
<p>Ваш выбор: $(course)</p>
</card>

 

Пример WML

В данном примере показано создание колоды 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 id="first" title="Курс">
<do type="accept" label="Выбор">
  <go href="#second"/>
</do>
<p>
<select name="course">
  <option value="c">Курс по C </option>
 <option value="c++">Курс по C++ </option>
 <option value="c#">Курс по C# </option>
 <option value="java">Курс по Java </option>
</select>
</p>
</card>
<card id="second" title="Выбор">
<p>
Курс: $(course)
</p>
</card>
</wml>

 

Данный код может иметь следующий вывод на экране мобильного телефона (первая карта):

 
----------------------------
----- Курс ----------
 Курс по C
 Курс по C++  
 Курс по C#
 Курс по Java
Выбор
-----------------------------

 

Вторая карта может выглядеть следующим образом:

 
--------------------------
----- Выбор ----------
 Курс: C++
---------------------------

 

Пояснения к примеру:

Пролог

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

 

Первые строки документа WML называются прологом. Пролог указывает, что это документ XML, затем определяет версию XML и используемый DTD.

 

Колода

Теги - <wml> ...... </wml>

 

Колода является документом WML и помещается между тегами <wml>.

 

Карты

Теги - <card> ...... </card>

 

Карты всегда выводятся по одной. Колода WML из примера выше содержит две карты - одну для ввода пользователя и одну для вывода результатов.

 

Элемент <do>

Теги - <do> ... </do>

 

На первой карте имеется элемент <do>, который определяет запускаемое событие. Использование атрибута type="accept" данного элемента приводит к выводу в левом нижнем углу экрана метки "Выбор".

 

Событие

Элемент <go> срабатывает, когда пользователь нажимает на метку "Выбор". Атрибут href="#second" данного элемента приводит к выводу на экран карты second.

 

Переменная

Карта second выводит значение переменной $(course) с карты first- значения переменных сохраняются при перемещении между картами.

 

Проверка кода WML

Для проверки правильности кода WML можно использовать синтаксический анализатор XML компании Microsoft.

 

Компиляция кода WML

Для тестирования и компилирования кода WML можно применять бесплатный пакет Nokia Mobile Internet Toolkit (см..http://forum.nokia.com/). Данное программное обеспечение полностью поддерживает спецификацию WAP 2.0, включая XHTML и CSS.

 

Если код WML размещается на сервере IIS или Apache, то его не требуется компилировать, т.к. эту работу выполнит шлюз WAP. В этом случае нужно только поместить на сервер исходный код WML.

 
источник: http://www.INTUIT.ru 


 

13 центов(0,13$) за клик, выплаты через WebMoney каждый вторник +10% с рефералов

Мы выкупаем 100% трафа! $12 за 1000 хостов (РФ), и до $4 за 1000 хостов (зарубежный траф) + 10% с дохода Ваших рефералов!
 Выплаты через
WebMoney

~80-100$ за1000 хостов 2.5$ за 1 смс.
реф. процент - 10 %Выплаты происходят раз в неделю, в четверг на
WebMoney
 
 

 

____________________________

Посмотреть порно видео в онлайне »

_______________________________

 

   
   
Сайт управляется системой uCoz