Модели XForms

Модель XForms определяет шаблон для данных, концентрирующихся в форме.

Фреймворк XForms

Цель HTML-формы - собирать данные. Цель XForms та же.

Через XForms данные ввода описываются в двух разных частях:

  • Модель XForms (описание данных и логики)
  • Интерфейс пользователя XForms (отображение и ввод данных)

Модели XFormsОпределяет, что такое форма, какие данные она содержит и что она должна делать.

Пользовательский интерфейс XFormsОпределяет области ввода и способ их отображения.

Модели XForms

XForms МодельДляОписаниеДанные.

Данные модели являются примером XML-документа (шаблоном).

Модель XForms определяет данные модели в элементе <model>.

<model>
<instance>
  <person>
    <fname/>
    <lname/>
  </person>
</instance>
<submission id="form1" action="submit.asp" method="get"/>
</model>

Из примера выше вы можете видеть, что модель XForms использует один <instance> элементы для определения XML-шаблона данных, которые необходимо собрать, и использовать один <submission> элементы описывают, как следует отправлять данные.

модели <submission>НетВыражать любую информацию о видимой части формы (пользовательский интерфейс).

Пространства имен XForms

Если вы пропустили эти примеры пространства имен XForms или если вы не熟悉 концепцию пространства имен, мы рассмотрим это в следующем разделе.

Элемент <instance>

Модели XForms <instance> элементами для определения данных сбора.

XForms являетсяСбор данных для определенного XML-документаВ этом XForms-модели элемент <instance> определяет этот XML-документ.

В上面的 примере, форма собирает данные для этого примера XML-документа (XML-документ):

<person>
  <fname/>
  <lname/>
</person>

После завершения сбора данных этот XML-документ может выглядеть так:

<person>
  <fname>John</fname>
  <lname>Smith</lname>
</person>

элемент <submission>

Модель XForms использует <submission> элементы описывают, как следует отправлять данные.

Элемент <submission> может определить форму и способ её отправки. В上面的 примере,id="form1" используется для обозначения этой формы,action="submit.asp" Атрибут указывает URL, на который отправляется форма, а method="get" Атрибуты определяют методы, используемые в процессе отправки формы.

Пользовательский интерфейс XForms

XForms Пользовательский интерфейсДляОтображение и вводДанные.

Элементы пользовательского интерфейса XForms называютсяКонтролили элементы ввода:

<input ref="fname"><label>First Name</label></input>
<input ref="lname"><label>Last Name</label></input>
<submit submission="form1"><label>Submit</label></submit>

В上面的 примере, два элемента <input> определяют два поля ввода. Атрибуты ref="fname" и ref="lname" указывают на элементы <fname> и <lname> в модели XForms.

Атрибут submission="form1" в элементе <submit> может ссылаться на элемент <submission> в модели XForms. Элемент submit обычно отображается как кнопка.

Пожалуйста, обратите внимание на элемент <label> в примере. При использовании XForms каждый элемент ввода должен иметь элемент <label>.

Вам потребуется контейнер

XForms не был спроектирован для работы в отдельном режиме. Также не существует никакого документа XForms.

XForms должны работать в другом XML-документе. Он может работать в XHTML 1.0, и также он будет работать в XHTML 2.0.

Теперь соберем все вместе

Если мы соберем все вместе, документ будет выглядеть так:

<xforms>
<model>
<instance>
  <person>
    <fname/>
    <lname/>
  </person>
</instance>
<submission id="form1" action="submit.asp" method="get"/>
</model>
<input ref="fname"><label>First Name</label></input>
<input ref="lname"><label>Last Name</label></input>
<submit submission="form1"><label>Submit</label></submit>
</xforms>

Страница будет отображаться следующим образом:

xforms_example

Обработчик XForms

Встроенный в браузер Обработчик XFormsБудет отвечать за подачу данных XForms на целевую страницу.

Данные могут быть представлены как XML, например:

<person>
  <fname>David</fname>
  <lname>Smith</lname>
</person>

Или как текст, например:

fname=David;lname=Smith