XForms at XPath

Ang XForms ay gumagamit ng XPath upang gumawa ng mabilis na paghahanap sa datos. Ang prosesong ito ay tinatawag na pagtatalaga.

XForms Tatalaga

Ang XForms ay gumagamit ng dalawang bahagi upang tukuyin ang datos: ang XForms model at ang XForms na user interface.

Ang XForms model ay isang XML template (halimbawa) na nakalaan para sa datos, at ang XForms na user interface ay isang paglalarawan ng pagpasok at pagpapakita ng datos.

Ang XForms ay gumagamit ng XPath upang tukuyin ang koneksyon ng dalawang bahagi. Ito ay tinatawag naTatalaga (binding).

XPath

Ang XPath ay ginagamit upang tukuyin ang mga bahagi ng XML na dokumento sa W3C na standard na sintaks.

Ang XPath ay gumagamit ng mga patumbok na ekspresyon upang tukuyin ang mga node sa XML na dokumento. Ang mga ekspresyon na ito ay kahawig ng mga patumbok na ekspresyon na iyong nakikita sa file path sa iyong computer system.

Ekspresyon ng XPath:

/person/fname

Magtatanong ng address sa <fname> na elemento sa XML na dokumento:

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

Sa aming Tuturo sa XPath sa pag-aaral ng higit pang kaalaman tungkol sa XPath.

Gamitin ang Ref para sa Pagtatalaga

Ang modelo ng XForms ay gayon:

<instance>
  <person>
    <name>
      <fname/>
      <lname/>
    </name>
  </person>
</instance>

Ang user interface ng XForms ay puwedeng gamitin ref Atribute naPinagkabit <input> Element:

<input ref="name/fname">
<label>First Name</label>
</input>
<input ref="name/lname">
<label>Last Name</label>
</input>

Ang ref="name/fname" na propyedade sa itaas na halimbawa ay isang XPath ekspresyon na tumutukoy sa <fname> elemento sa instance model. Ito ay magbibigay-daan sa iyong paggamit ng input areaPinagkabitsa XML na dokumento (halimbawa) na kumolekta ng datos mula sa <fname> elemento.

Ang XForms na user interface ay maaaring gamitin ang pagtutukoy:

<input ref="/person/name/fname">
<label>First Name</label>
</input>
<input ref="/person/name/lname">
<label>Last Name</label>
</input>

Sa pagkakakitaan sa itaas, ang naunang bahagi ng ekspresyong XPath (/) ay nagtutukoy sa root ng dokumentong XML.

Paggamit ng Bind para sa Pagkabit

Ang modelo ng XForms ay gayon:

<model>
<instance>
  <person>
    <name>
      <fname/>
      <lname/>
    </name>
  </person>
</instance>
<bind nodeset="/person/name/fname" id="firstname"/>
<bind nodeset="/person/name/lname" id="lastname"/>
</model>

Ang user interface ng XForms ay puwedeng gamitin bind Atribute naPinagkabit <input> Element:

<input bind="firstname">
<label>First Name</label>
</input>
<input bind="lastname">
<label>Last Name</label>
</input>

Bakit may dalawang paraan ang pagkakabit ng input control element sa datos ng instance?

Ano ang sinasabi ko, kapag nagsisimula ka ng gumamit ng XForms sa mga kumplikadong aplikasyon, makikita mo na ang paggamit ng bind ay isang mas malaya na paraan para sa pagtatalikod ng maraming form at maraming modelo ng instance.