XForms в XHTML

Пример HTML форм

Рассмотрим HTML документ, содержащий HTML форму:
<html>
<body>
<form action="payment.asp" method="post">

<p><b>Select Payment Method</b></p>

<p>
Cash
<input type="radio" name="as" value="cash">
Credit Card
<input type="radio" name="as" value="credit" checked>
</p>

<p>Card Number:<br />
<input type="text" id="cc"></p>

<p>Expiration Date:<br />
<input type="text" name="exp"></p>

<p><input type="submit"></p>

</form>
<body>
</html>
HTML страница будет отображатьмя следующим образом:
Результат выполнения

Тот же самый пример с использованием XForms

Данный пример является не очень сложным вариантом XForms для примера на HTML представленного выше:
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:xform="http://www.w3.org/2001/08/xforms">
<head>
<xform:xform id="payment">
<xform:submitInfo action="submit.asp" method="post"/>
</xform:xform>
<xform:instance>.....</xform:instance>
<xform:model>........</xform:model>
<xform:bindings>.....</xform:bindings>
</head>
<body>

<xform:selectOne xform="payment" ref="as" >
  <xform:caption>Select Payment Method</xform:caption>
  <xform:choices>
    <xform:item value="cash">
      <xform:caption>Cash</xform:caption>
    </xform:item>
    <xform:item value="credit">
      <xform:caption>Credit</xform:caption>
    </xform:item>
  </xform:choices>
</xform:selectOne>
<xform:input xform="payment" ref="cc">
  <xform:caption>Credit Card Number</xform:caption>
</xform:input>
<xform:input xform="payment" ref="exp">
  <xform:caption>Expiration Date</xform:caption>
</xform:input>
<xform:submit xform="payment">
  <xform:caption>Submit</xform:caption>
</xform:submitv
</body>
</html>
Более сложно? Да, но более функционально и независимо от устройства.

Элементы управления формой

XForms использует элементы управления для управления пользовательским интерфейсом. Элементы управления размещаются в секции body XHTML документа. В нашем примере используется четыре XForms элемента управления: Отметим следующее:

Элементы XForms в секции head

Отметим, что элемент <xform:xform> в секции <head> XHTML документа определяет информацию подтверждения для элементов управления XForms.

Пример выше очень простой. Обычно элемент <head> XHTML документа будут также содержать информацию о: экземпляре данных <xform:instance> модели данных <xform:model> связанных данных <xform:bindings>

Все это будет рассмотрено позднее, в следующих разделах данного руководства. Сейчас, предварительно, взглянем на модели данных элементов управления:

<money name="price" currency="usd"/>
<string name="country" default="Norway"/>
<string name="phone" pattern="\d*-\d*-\d*"/>
<number name="age" min="16"/>

XForms процессор

XForms процессор, встроенный в браузер, будет обрабатывать XForms данные после подтверждения (нажатие на кнопку submit) и представлять их в виде XML, как показано ниже:
<envelope>
  <body>
    <as>Credit</as>
    <cc>1235467789012345</cc>
    <exp>2001-08</exp>
  </body>
</envelope>
Сайт создан в системе uCoz
Основы SOAP