XForms و XPath

پیشنهاد دوره:

XForms از XPath برای جستجوی سریع داده استفاده می‌کند. این فرآیند به عنوان پیوند شناخته می‌شود.

پیوند XForms

مدل XForms یک قالب XML برای داده‌ها (مثال) است و رابط کاربری XForms توصیف ورودی و نمایش داده‌ها است.

XForms استفاده می‌کند XPath برای تعریف اتصال این دو بخش استفاده می‌شود. این به عنوانپیوند (binding).

XPath

XPath برای تعریف گرایش‌های مختلف مستند XML از زبان استاندارد W3C استفاده می‌کند.

XPath از عبارات مسیر برای اشاره به گره‌های مستند XML استفاده می‌کند. این عبارات بسیار مشابه مسیرهای فایل در سیستم کامپیوتری شما هستند.

عبارت XPath:

/person/fname

در جستجوی نقطهfname در مستند XML:

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

در آموزش XPath برای یادگیری بیشتر در مورد XPath به اینجا بروید.

با استفاده از Ref بپیوندید

مدل XForms اینگونه است:

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

رابط کاربری XForms قابل استفاده است ref بهبا استفاده از ویژگی <input> عناصر:

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

در مثال بالا، ویژگی ref="name/fname" یک بیان XPath است که به عنصر <fname> در مدل نمونه‌ای اشاره دارد.با استفاده از ویژگیبه عنصر <fname> در مستند XML از فرم‌های جمع‌آوری داده (مثال)

رابط کاربری XForms نیز می‌تواند از ارجاع استفاده کند:

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

در مثال بالا، نشانه‌گذار اصلی خط افقی عمودی (/) در ابتدای عبارت XPath نشان‌دهنده ریشه مستند XML است.

با استفاده از Bind برای پیوند دادن

مدل XForms اینگونه است:

<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 قابل استفاده است bind بهبا استفاده از ویژگی <input> عناصر:

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

چرا دو روش برای پیوند دادن یک عنصر کنترل ورودی به داده‌های نمونه وجود دارد؟

باید بگویم که وقتی در برنامه‌های پیچیده شروع به استفاده از XForms می‌کنید، می‌فهمید که استفاده از bind برای پیوند دادن به یک روش انعطاف‌پذیر‌تر برای مدیریت مدل‌های چند فرم و چند نمونه است.