مدل‌های XForms

مدل XForms یک قالب برای تعریف داده‌های متمرکز در فرم تعریف می‌کند.

چارچوب XForms

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

از طریق XForms، داده‌های ورودی در دو بخش مختلف توصیف می‌شوند:

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

مدل‌های XFormsتعریف می‌کند که فرم چیست، شامل چه داده‌هایی است و باید چه کاری انجام دهد.

رابط کاربری XFormsزمینه‌های ورودی را تعریف می‌کند و چگونگی نمایش آنها را.

مدل‌های XForms

XForms مدلبرایتوصیفداده‌ها

مدل داده یک نمونه XML مستند است (یک قالب).

مدل XForms یک مدل داده را در یک عنصر <model> درونی تعریف می‌کند:

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

از مثال‌های بالا، می‌توانید ببینید که مدل XForms از یک <instance> عنصر برای تعریف قالب XML برای داده‌هایی که نیاز به جمع‌آوری دارند استفاده می‌شود و یک <submission> عنصر برای توصیف نحوه ارسال داده‌ها استفاده می‌شود.

مدل <submission>هیچاطلاعاتی در مورد بخش‌های قابل مشاهده فرم (رابط کاربری) بیان می‌کند.

فضای نام‌گذاری XForms

اگر شما این مثال‌های XForms نام‌فضا را نادیده گرفته‌اید یا اگر شما با مفهوم نام‌فضا آشنا نیستید، ما این موضوع را در بخش بعدی توضیح خواهیم داد.

عنصر <instance>

مدل‌های XForms <instance> عنصر برای تعریف داده‌هایی که باید جمع‌آوری شوند، استفاده می‌شود.

XForms استبرای جمع‌آوری داده‌ها از یک XML مستنددر این مدل XForms، عنصر <instance> مستند XML را تعریف می‌کند.

در مثال بالا، مستند فرم که داده‌ها را جمع‌آوری می‌کند، به این شکل است:

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

در پایان جمع‌آوری داده‌ها، این مستند XML ممکن است به این شکل به نظر برسد:

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

عنصر <submission> استفاده می‌کند

مدل XForms از <submission> عنصر برای توصیف نحوه ارسال داده‌ها استفاده می‌شود.

عنصر <submission> می‌تواند فرم و نحوه ارسال فرم را تعریف کند. در مثال بالا،id="form1" برای نشان‌دهی این فرم،action="submit.asp" ویژگی URL‌ای که فرم به آن ارسال می‌شود، و method="get" ویژگی‌ها تعریف می‌کنند روش‌هایی که در فرآیند ارسال فرم استفاده می‌شوند.

رابط کاربری XForms

XForms رابط کاربریبراینمایش و ورودیداده‌ها

عناصر رابط کاربری XForms به نامکنترل‌هایا کنترل ورودی:

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

در مثال بالا، دو عنصر <input> دو حوزه ورودی را تعریف می‌کنند. ویژگی‌های ref="fname" و ref="lname" به عناصر <fname> و <lname> مدل XForms اشاره دارند.

ویژگی submission="form1" در عنصر <submit> می‌تواند به عنصر <submission> مدل XForms اشاره کند. عنصر submit معمولاً به عنوان دکمه نمایش داده می‌شود.

لطفاً به عنصر <label> در مثال‌ها توجه کنید. در صورت استفاده از XForms، هر عنصر کنترل ورودی باید دارای عنصر <label> باشد.

شما به یک حاوی نیاز خواهید داشت

XForms به عنوان یک روش کار مستقل طراحی نشده است. هیچ مستندی به نام XForms وجود ندارد.

XForms باید در یک مستند XML دیگر کار کند. آن می‌تواند در XHTML 1.0 اجرا شود و همچنین در XHTML 2.0 نیز کار خواهد کرد.

حالا همه چیز را با هم ترکیب می‌کنیم

اگر همه را با هم ترکیب کنیم، این مستند به این شکل خواهد بود:

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

صفحه به این شکل نمایش داده خواهد شد:

مثال_xforms

پردازنده XForms

درون‌بنا به مرورگر پردازنده XFormsمسئول ارائه داده‌های XForms به هدف خواهد بود.

داده‌ها می‌توانند به عنوان XML ارائه شوند، مانند این:

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

یا به عنوان متن ارائه دهید، مانند این:

fname=David;lname=Smith