<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
<head>
<link rel="stylesheet" type="text/css" href="../style.css"/>
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico"/>
<meta http-equiv="Content-Type" content="application/vnd.wap.xhtml+xml; charset=UTF-8"/>
<title>Xmoder.wen.ru</title>
</head>
<body>
<div class="b">
<div class="r">
<div align="center">
<img src="../logo.gif" class="top" alt="Xmoder.wen.ru"/>
<div align="center">
<div class="menu">Строительство приложений</div>
<div class="cont">
Строительство приложений с помощью WML.<br>
WML был разработан для для устройств с низкой пропускной способностью и маленьким дисплеем. В качестве составной этого дизайна была применена концепция дек и карт. Один WML-документ (а точнее элементы, содержащиеся внутри элемента <wml>) называется декой (deck). Интерактивное взаимодействие с пользователем осуществляется с помощью карт (card). Достоинство такой реализации заключается в том, что несколько экранов могут быть загружены на клиентское устройство за один раз. Используя WMLScript, обработка действий пользователя может быть произведена с использованием находящихся в одной деке карт, исключая тем самым множественные транзакции с сервером. Конечно, в связи с ограниченными ресурсами клиентского устройства возникает другая проблема. Поэтому вам вполне возможно придется разбрасывать ваши карты по разным деками во избежании чрезмерного увеличения объема одного файла. <br><br>
Использование переменных<br>
Поскольку, как мы говорили ранее, в одной деке может содержаться несколько карт, нам потребуется механизм хранения информации из одной карты для ее последующего использования в другой. Этот механизм обеспечивается переменными. Переменные могут быть созданы и определены, используя несколько различных методов. <br>
• Используя элемент <setvar> в качестве результата выполнения пользователем определенных действий. Кроме того, этот элемент может быть использован для определения переменной внутри следующих элементов: <go>, <prev>, <refresh>. Следующий элемент создает переменную x и присваивает ей значение "123". <br>
• <setvar name="x" value="123"/><br>
• Переменным также присваивается значение через использование элементов <input>, <select>, <option> и других. При этом автоматически создается переменная с именем этого элемента. По окончании ввода, ей присваивается значение соответствующее выбору пользователя. Например следующий элемент создаст переменную с именем "x" <br>
• <select name="x" title="X Value:"><br>
Несмотря на то, что мы не описывает WMLScript, следует отметить, что WML и WMLScript используют одни и те же переменные в рамках одной деки. <br><br>
Создаем деку.<br>
В этом примере, мы начнем создавать деку, которая позволяет нам сначала выбрать имя пользователя из предложенного списка, затем ввести пароль после чего выводит на экран полученные данные. <br>
<?xml version="1.0"?><br>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"><br>
<wml><br>
<card id="Login" title="Login"><br>
<do type="accept" label="Password"><br>
<go href="#Password"/><br>
</do><br>
<p><br>
UserName:<br>
<select name="name" title="Name:"><br>
<option value="John Doe">John Doe</option><br>
<option value="Paul Smith">Paul Smith</option><br>
<option value="Joe Dean">Joe Dean</option><br>
<option value="Bill Todd">Bill Todd</option><br>
</select><br>
</p><br>
</card><br>
<card id="Password" title="Password:"><br>
<do type="accept" label="Results"><br>
<go href="#Results"/><br>
</do><br>
<p><br>
Password: <input type="text" name="password"/><br>
</p><br>
</card><br>
<card id="Results" title="Results:"><br>
<p><br>
You entered:<br/><br>
Name: $(name)<br/><br>
Password: $(password)<br/><br>
</p><br>
</card><br>
</wml><br>
Как вы наверно уже заметили, вначале примера идет пролог, в котором мы определяем версию XML и DTD для нашего документа. Затем следует элемент <wml>, дека которая содержит три карты: Login, Password и Result. Каждая из этих карт определяется с использованием элемента <card>. Поскольку карты Login и Password определяют события, они используют элемент <do type="accept"> для определения события которое произойдет, когда пользователь закончит ввод. <br>
Если мы определяем элемент <do> типом "accept" он появляется на экране в качестве опции <br>
Выбор этой опции приведет к анализу введенной пользователем информации. <br>
Атрибут "href" тега <go> работает так же, как и в элементе <a> из HTML. Также как и в HTML, для того, чтобы на экран вывелась другая карты из активной деки, на нее надо сослаться используя символ "#" перед именем карты. <br>
<go href="#result"/><br>
Эта карта обрабатывает пользовательский ввод и используя определенные в предыдущей карте переменные выводит их содержимое на экран. Вызов переменных осуществляется следующим образом: <br>
$(variable_name)
</div>
<div class="cont">
<a href="index.html">Назад</a><br>
<a href="../index.html">На главную</a>
</div>
</div>
</div><div align="center">
<div class="foot">Xmoder.wen.ru</div>
<div class="counts">
Счётчики/Баннеры<br>
<a href='http://bann.su/click.php?sub=7631'><img src='http://bann.su/ban.php?sub=7631&c=FFFFFF&b=FF0000' alt='Жми'/></a><BR>
<a href='http://wen.ru/'><img src='http://c.wen.ru/1117594.wbmp?' alt='Создай сайт! Create site!'/></a>
<script language="JavaScript" src="http://free-one.ru/xml_gzip_status.php"></script>
</div>
</body>
</html>