XForms Model

XForms 模型為集中于表單中的數據定義了一個模板。

XForms 框架

HTML 表單的作用是收集數據。XForms 的作用是相同的。

通過 XForms,輸入數據被描述在兩個不同的部分中:

  • XForms 模型(描述數據和邏輯)
  • XForms 用戶界面(顯示和輸入數據)

XForms Model定義了什麼是表單,它包含什麼數據,以及它應該做什麼。

XForms user interface定義了輸入範圍,以及它們如何被顯示。

XForms Model

XForms 模型Para sa描述Data.

數據模型是 XML 文檔的一個實例(一個模板)。

XForms 模型定义了 <model> 元素內的一個數據模型:

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

Mula sa itaas na halimbawa, makikita mo na ang modelo ng XForms ay gumagamit ng isang <instance> elemento para sa pagtutukoy ng XML template ng dapat ikolekta na data, at gamitin ang isang <submission> elemento para sa paglalarawan kung paano ililipat ang data.

<submission> modeloWalaIpahayag ang anumang impormasyon tungkol sa nakikita ng porma (user interface).

XForms Namespace

Kung ikaw ay nilimangan ang XForms namespace sa mga halimbawa na ito, o kung ikaw ay hindi alam ang konsepto ng namespace, aking ipakilala ang nilalaman sa susunod na seksyon.

<instance> elemento

XForms Model <instance> elemento para sa pagtutukoy ng data na dapat ikolekta.

XForms ayPara sa pagkolekta ng data para sa isang XML dokumentoAng <instance> elemento sa XForms modelo ay nagtutukoy sa XML dokumento na ito.

Sa itaas na halimbawa, ang porma na ito ay nagkolekta ng data bilang isang data instance (XML dokumento) na magmukhang ganito:

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

Pagkatapos ng data collection, ang XML dokumento ay maaring magmukhang ganito:

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

<submission> elemento

Ang modelo ng XForms ay gumagamit ng <submission> elemento para sa paglalarawan kung paano ililipat ang data.

Ang <submission> elemento ay maaaring tukuyin ang porma at kung paano ito ay ililipat. Sa itaas na halimbawa,id="form1" Para sa pagtutukoy ng porma na ito,action="submit.asp" Ang attribute ay nagtutukoy sa URL na saan ang porma ay ililipat, at method="get" Ang attribute ay nagtutukoy sa pamamaraan na gagamitin sa proseso ng pagsumite ng porma.

XForms user interface

XForms User interfacePara saIpakita at iimputData.

Ang elemento ng user interface ng XForms ay tinatawag naControlO pang input control:

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

Sa itaas na halimbawa, ang dalawang <input> elemento ay nagtatag ng dalawang input field. Ang ref="fname" at ref="lname" attribute ay tumutukoy sa <fname> at <lname> elemento sa XForms modelo.

Ang submission="form1" attribute sa <submit> elemento ay maaaring tumutukoy sa <submission> elemento sa XForms modelo. Ang submit elemento ay karaniwang inilalarawan bilang pindutan.

Pansinin ang <label> elemento sa halimbawa. Kapag gumagamit ng XForms, bawat elemento ng input control ay dapat may <label> elemento.

Kailangan mo ng isang container

XForms ay hindi dinisenyo para gumana nang hiwalay. Walang sinasabing XForms dokumento.

XForms ay dapat gumana sa isa pang XML dokumento. Ito ay maaring lumabas sa XHTML 1.0, at ito ay gagamitin din sa XHTML 2.0.

Ngayon ay ipapakasama natin ang lahat.

Kung ipapagkakasama natin ang lahat, ang dokumento ay magiging ganito:

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

Ang pahina ay magpapakita ng ganito:

xforms_example

XForms Processor

Integrated in the browser XForms Processoray magiging responsableng isumite ang XForms data sa target.

Ang data ay maaaring isumite bilang XML, katulad nito:

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

O bilang teksto na isinumite, katulad nito:

fname=David;lname=Smith