سبد (0)

آموزش XML-ویژگی ها

عناصر XML، درست مثل HTML می‌توانند دارای صفت باشند.

صفت های XML اطلاعات بیشتری را درباره یک عنصر ارائه می‌دهند.


صفت‌های XML

در HTML صفت‌ها اطلاعات بیشتری درباره یک عنصر ارائه می‌دهد:

<img src="computer.gif">
<a href="demo.asp">

صفت‌ها معمولا اطلاعاتی را ارائه می‌دهند که قسمتی از داده نیستند. در مثال زیر نوع فایل ربطی به محتویات داده ندارد, اما می‌توانند برای نرم‌افزار‌هایی که قصد دستکاری کردن عناصر را دارند مهم باشند.

<file type="gif">computer.gif</file>

صفت‌های XML باید درون کوتیشن قرار بگیرند

مقدار صفت‌ها همیشه باید درون کوتیشن قرار بگیرند. هم می‌توان از دبل‌کوتیشن (" ") استفاده کرد و هم از تک‌کوتیشن(' ').عنصر <person> برای مشخص کردن جنسیت اشخاص می‌تواند مانند زیر نوشته شود:

<person gender="female">

یا شبیه به این:

<person gender='female'>

اگر مقدار صفت‌ها خودشان شامل دبل‌کوتیشن (" ") بودند, شما می‌توانید از تک‌کوتیشن استفاده کنید. مانند مثال زیر:

<gangster name='George "Shotgun" Ziegler'>

یا می‌توانید از کاراکترهای ویژه استفاده کنید:

<gangster name="George &quot;Shotgun&quot; Ziegler">

عناصر یا صفت ها !

به مثال‌های زیر دقت کنید:

<person gender="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>
<person>
  <gender>female</gender>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

در مثال اول gender (جنسیت) یک صفت است. در مثال دوم gender یک عنصر است. هر دو مثال شامل اطلاعات یکسانی هستند.

هیچ قانونی وجود ندارد در مورد این‌که چه موقع از صفت استفاده شود و چه موقع از عنصر. صفت‌ها در HTML سودمند هستند اما پیش‌نهاد من این است که از ‌ آن‌ها در XML استفاده نکنید و در عوض از عناصر استفاده کنید.


روش مورد علاقه من

هر سه سند XML زیر شامل اطلاعاتی دقیقا یکسان هستند:

در مثال اول از یک صفت date (تاریخ) استفاده شده است:

<note date="2008-01-10">
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

در مثال دوم از یک عنصر date استفاده شده است:

<note>
  <date>2008-01-10</date>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

در مثال سوم از یک عنصر بازشده date استفاده شده است: (این روش مورد علاقه من است):

<note>
  <date>
    <year>2008</year>
    <month>01</month>
    <day>10</day>
  </date>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

چرا بهتر است از صفات، در XML اجتناب کنیم؟

بعضی از مشگلاتی که در صورت استفاده از صفات وجود دارد:

  • صفت‌ها نمیتوانند شامل چندین مقدار باشند(عناصر می‌توانند)
  • صفت‌ها نمی‌توانند شامل یک ساختار درختی باشند(عناصر می‌توانند)
  • صفت‌ها به راحتی قابل توسعه نیستند(برای تغییرات آینده)

نگه‌داری و خواندن صفات مشگل است. برای داده‌ها از عناصر استفاده کنید و از صفت‌ها برای اطلاعاتی که ربطی به داده‌ها ندارند استفاده کنید.

هیچ‌وقت این‌گونه عمل نکنید:

<note day="10" month="01" year="2008"
to=
"Tove" from="Jani" heading="Reminder"
body=
"Don't forget me this weekend!">
</note>

صفت‌های XML به عنوان متاداده‌ها

متاداده(Metadata): داده‌هایی هستند که اطلاعاتی را درباره داده‌های دیگر تعریف کرده و ارائه می‌دهند.

بعضی اوقات صفت ID به عناصر اختصاص داده می‌شود. این ID ها می‌توانند برای شناسایی عناصر XML به کار بروند همانطور که از آن‌ها در HTML استفاده می‌شود. این مثال این موضوع را نشان می‌دهد:

<messages>
  <note id="501">
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
  </note>
  <note id="502">
    <to>Jani</to>
    <from>Tove</from>
    <heading>Re: Reminder</heading>
    <body>I will not</body>
  </note>
</messages>

صفت‌های ID بالا برای شناسایی یاد‌داشت‌های مختلف استفاده شده‌اند.این ID ها قسمتی از خود یادداشت نیستند.

مفهوم حرف‌های من این است که متاداده‌ها(داده‌هایی در مورد داده‌ها) باید در صفت‌ها قرار بگیرند، ولی خود داده‌ها در عناصر قرار بگیرند.

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه