<? include 'head.php' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div class=line>Строительство приложений</div>
Строительство приложений с помощью WML.<br>
WML был разработан для для устройств с низкой пропускной способностью и маленьким дисплеем. В качестве составной этого дизайна была применена концепция дек и карт. Один WML-документ (а точнее элементы, содержащиеся внутри элемента &lt;wml&gt;) называется декой (deck). Интерактивное взаимодействие с пользователем осуществляется с помощью карт (card). Достоинство такой реализации заключается в том, что несколько экранов могут быть загружены на клиентское устройство за один раз. Используя WMLScript, обработка действий пользователя может быть произведена с использованием находящихся в одной деке карт, исключая тем самым множественные транзакции с сервером. Конечно, в связи с ограниченными ресурсами клиентского устройства возникает другая проблема. Поэтому вам вполне возможно придется разбрасывать ваши карты по разным деками во избежании чрезмерного увеличения объема одного файла. <br><br>



Использование переменных<br>

Поскольку, как мы говорили ранее, в одной деке может содержаться несколько карт, нам потребуется механизм хранения информации из одной карты для ее последующего использования в другой. Этот механизм обеспечивается переменными. Переменные могут быть созданы и определены, используя несколько различных методов. <br>
•	Используя элемент &lt;setvar&gt; в качестве результата выполнения пользователем определенных действий. Кроме того, этот элемент может быть использован для определения переменной внутри следующих элементов: &lt;go&gt;, &lt;prev&gt;, &lt;refresh&gt;. Следующий элемент создает переменную x и присваивает ей значение "123". <br>

•	 &lt;setvar name="x" value="123"/&gt;<br>
•	Переменным также присваивается значение через использование элементов &lt;input&gt;, &lt;select&gt;, &lt;option&gt; и других. При этом автоматически создается переменная с именем этого элемента. По окончании ввода, ей присваивается значение соответствующее выбору пользователя. Например следующий элемент создаст переменную с именем "x" <br>
•	&lt;select name="x" title="X Value:"&gt;<br>
Несмотря на то, что мы не описывает WMLScript, следует отметить, что WML и WMLScript используют одни и те же переменные в рамках одной деки. <br><br>



Создаем деку.<br>
В этом примере, мы начнем создавать деку, которая позволяет нам сначала выбрать имя пользователя из предложенного списка, затем ввести пароль после чего выводит на экран полученные данные. <br>
&lt;?xml version="1.0"?&gt;<br>
&lt;!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"&gt;<br>
&lt;wml&gt;<br>
        &lt;card id="Login" title="Login"&gt;<br>
                &lt;do type="accept" label="Password"&gt;<br>

                        &lt;go href="#Password"/&gt;<br>
                &lt;/do&gt;<br>
                &lt;p&gt;<br>
                UserName:<br>
                &lt;select name="name" title="Name:"&gt;<br>
                        &lt;option value="John Doe"&gt;John Doe&lt;/option&gt;<br>

                        &lt;option value="Paul Smith"&gt;Paul Smith&lt;/option&gt;<br>
                        &lt;option value="Joe Dean"&gt;Joe Dean&lt;/option&gt;<br>
                        &lt;option value="Bill Todd"&gt;Bill Todd&lt;/option&gt;<br>
                &lt;/select&gt;<br>

                &lt;/p&gt;<br>
        &lt;/card&gt;<br>
        &lt;card id="Password" title="Password:"&gt;<br>
                &lt;do type="accept" label="Results"&gt;<br>
                        &lt;go href="#Results"/&gt;<br>
                &lt;/do&gt;<br>

                &lt;p&gt;<br>
                Password: &lt;input type="text" name="password"/&gt;<br>
                &lt;/p&gt;<br>
        &lt;/card&gt;<br>
        &lt;card id="Results" title="Results:"&gt;<br>
        &lt;p&gt;<br>

        You entered:&lt;br/&gt;<br>
        Name: $(name)&lt;br/&gt;<br>
Password: $(password)&lt;br/&gt;<br>
        &lt;/p&gt;<br>
        &lt;/card&gt;<br>

&lt;/wml&gt;<br>
Как вы наверно уже заметили, вначале примера идет пролог, в котором мы определяем версию XML и DTD для нашего документа. Затем следует элемент &lt;wml&gt;, дека которая содержит три карты: Login, Password и Result. Каждая из этих карт определяется с использованием элемента &lt;card&gt;. Поскольку карты Login и Password определяют события, они используют элемент &lt;do type="accept"&gt; для определения события которое произойдет, когда пользователь закончит ввод. <br>
Если мы определяем элемент &lt;do&gt; типом "accept" он появляется на экране в качестве опции <br>
Выбор этой опции приведет к анализу введенной пользователем информации. <br>

Атрибут "href" тега &lt;go&gt; работает так же, как и в элементе &lt;a&gt; из HTML. Также как и в HTML, для того, чтобы на экран вывелась другая карты из активной деки, на нее надо сослаться используя символ "#" перед именем карты. <br>
&lt;go href="#result"/&gt;<br>
Эта карта обрабатывает пользовательский ввод и используя определенные в предыдущей карте переменные выводит их содержимое на экран. Вызов переменных осуществляется следующим образом: <br>
$(variable_name)

<? include 'foot.php' ?>