Model XForms

Model XForms mendefinisikan template untuk data yang berpusat di formulir.

Framewerk XForms

Fungsi formulir HTML adalah mengumpulkan data. Fungsi XForms sama seperti itu.

Dengan XForms, data input dijelaskan di dua bagian yang berbeda:

  • Model XForms (deskripsi data dan logika)
  • Antarmuka Pengguna XForms (tampilkan dan input data)

Model XFormsMendefinisikan apa yang adalah formulir, data yang disertakan, serta apa yang seharusnya dilakukan.

Antarmuka pengguna XFormsMendefinisikan domain input, serta bagaimana mereka ditampilkan.

Model XForms

XForms ModeluntukDeskripsiData.

Model data adalah instansi dokumen XML (suatu template).

Model XForms mendefinisikan model data di dalam elemen <model> internal:

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

Dari contoh di atas, Anda dapat melihat model XForms menggunakan satu <instance> elemen untuk mendefinisikan template XML yang akan dikumpulkan untuk data yang diperlukan, dan menggunakan sebuah <submission> digunakan untuk mendeskripsikan cara mengirim data.

model <submission>tidak adamengekspresikan informasi tentang bagian yang dapat dilihat formulir (antarmuka pengguna).

Namsapta XForms

Jika Anda mengabaikan ruang nama XForms di contoh ini, atau jika Anda tidak mengerti konsep ruang nama, kita akan memperkenalkan konten ini di bagian berikutnya.

Elemen <instance>

Model XForms <instance> elemen untuk mendefinisikan data pengumpulan.

XForms adalahuntuk mengumpulkan data di dokumen XML tertentudi. Elemen <instance> di model XForms ini mendefinisikan dokumen XML ini.

Pada contoh di atas, instansi formulir untuk mengumpulkan data (dokumen XML) terlihat seperti ini:

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

Setelah pengumpulan data selesai, dokumen XML ini mungkin terlihat seperti ini:

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

elemen <submission>

Model XForms menggunakan <submission> digunakan untuk mendeskripsikan cara mengirim data.

Elemen <submission> dapat mendefinisikan formulir serta cara mengirim formulir. Pada contoh di atas,id="form1" digunakan untuk menandai formulir ini,action="submit.asp" Atribut menentukan URL tempat formulir disubmit, sedangkan method="get" Atribut menentukan metode yang digunakan selama proses pengiriman formulir.

Antarmuka pengguna XForms

XForms Antarmuka penggunauntukTampilan dan inputData.

Elemen antarmuka pengguna XForms disebutKontrolatau kontrol input:

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

Pada contoh di atas, dua elemen <input> mendefinisikan dua domain input. Atribut ref="fname" dan ref="lname" mengarah ke elemen <fname> dan <lname> di model XForms.

Atribut submission="form1" di elemen <submit> dapat merujuk kepada elemen <submission> di model XForms. Elemen submit biasanya ditampilkan sebagai tombol.

Perhatikan elemen <label> di contoh. Dengan menggunakan XForms, setiap elemen kontrol input harus memiliki elemen <label>.

Anda akan memerlukan sebuah wadah

XForms tidak dirancang untuk bekerja secara terpisah. Juga tidak ada dokumen XForms yang disebut.

XForms harus beroperasi di dokumen XML lain. Dia dapat berjalan di XHTML 1.0, dan juga akan beroperasi di XHTML 2.0.

Sekarang gabungkan semuanya

Jika kita menggabungkannya, dokumen ini seperti ini:

<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>

Halaman akan ditampilkan seperti ini:

xforms_example

Penghandler XForms

Ditambahkan di dalam browser Penghandler XFormsakan bertanggung jawab untuk mengirimkan data XForms ke tujuan.

Data dapat diajukan sebagai XML, seperti ini:

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

atau diajukan sebagai teks, seperti ini:

fname=David;lname=Smith