XForms ve XPath

XForms Bağlama

XForms, veri için iki parçayı tanımlamak için kullanır: XForms modeli ve XForms kullanıcı arayüzü.

XForms Bağlama

XForms modeli, veri için bir XML şablonudur (örnek) ve XForms kullanıcı arayüzü, veri girişi ve görüntüleme açıklamasıdır.

XForms XPath bu iki parçanın bağlantısını tanımlamak için kullanılır. Bu,bağlama (binding).

XPath

XPath, XML belgesinin各部分的 W3C standart dilini tanımlamak için kullanılır.

XPath, XML belgesindeki düğümleri işaretlemek için yol ifadeleri kullanır. Bu ifadeler, bilgisayar sisteminizde gördüğünüz dosya yol ifadeleriyle çok benzerdir.

XPath ifadesi:

/person/fname

XML belgesindeki fname düğümüne erişmek için:

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

bizim XPath Eğitimi ile XPath hakkında daha fazla bilgi edinebilirsiniz.

Ref ile bağlama

XForms Modeli şu şekildedir:

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

XForms Kullanıcı Arayüzü ref özniteliklebağlama <input> Elementi:

<input ref="name/fname">
<label>Adı</label>
</input>
<input ref="name/lname">
<label>Soyadı</label>
</input>

Örnekteki ref="name/fname" özelliği, örnek modelindeki <fname> ögesine işaret eden bir XPath ifadesidir. Bu, girdi alanınıbağlamaformdan veri toplar olan XML belgesi (örnek) içindeki <fname> ögesine.

XForms kullanıcı arayüzü de referansları kullanabilir:

<input ref="/person/name/fname">
<label>Adı</label>
</input>
<input ref="/person/name/lname">
<label>Soyadı</label>
</input>

Yukarıdaki örnekte, XPath ifadesinin başlangıç noktası olan sağ üst nokta (/), XML belgesinin kökünü gösterir.

Bind ile Bağlama

XForms Modeli şu şekildedir:

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

XForms Kullanıcı Arayüzü bind özniteliklebağlama <input> Elementi:

<input bind="firstname">
<label>Adı</label>
</input>
<input bind="lastname">
<label>Soyadı</label>
</input>

Neden iki farklı yöntemle giriş kontrol elementlerini örnek veriye bağlamak var?

Nasıl anlatılır ki, karmaşık uygulamalarda XForms kullanmaya başladığınızda, bind ile bağlama, çoklu form ve çoklu örnek modelini daha esnek bir şekilde işlemek için bir yöntemdir.