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ドキュメント)はこんな感じになります:

<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>名</label></input>
<input ref="lname"><label>姓</label></input>
<submit submission="form1"><label>提出</label></submit>

上の例では、2つの<input>要素が2つの入力フィールドを定義しています。ref="fname"とref="lname"属性はXFormsモデルの<fname>と<lname>要素を指しています。

<submit>要素のsubmission="form1"属性はXFormsモデルの<submission>要素を参照できます。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>名</label></input>
<input ref="lname"><label>姓</label></input>
<submit submission="form1"><label>提出</label></submit>
</xforms>

ページは以下のように表示されます:

xforms_example

XForms プロセッサ

ブラウザ内に統合されています XForms プロセッサXForms データをターゲットに提出する責任があります。

データは以下のように XML として提出できます:

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

またはテキストとして提出、以下のようになります:

fname=David;lname=Smith