أحدث البرامج التعليمية وتطوير الشبكة
 

XML الصفات


يمكن أن عناصر XML لها سمات، تماما مثل HTML.

تم تصميم سمات لاحتواء البيانات المتعلقة به إلى عنصر معين.


يجب أن نقلت سمات XML

يجب أن يكون دائما نقلت قيم السمة. إما بين علامتي اقتباس مفردة أو مزدوجة يمكن استخدامها.

للمساواة بين الجنسين الشخص، و <person> العنصر يمكن كتابة مثل هذا:

<person gender="female">

أو من هذا القبيل:

<person gender='female'>

إذا كانت قيمة السمة نفسها تحتوي على علامات الاقتباس المزدوجة يمكنك استخدام علامات الاقتباس المفردة، كما في هذا المثال:

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

أو يمكنك استخدام الكيانات الحرف:

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

عناصر XML مقابل سمات

نلقي نظرة على هذه الأمثلة:

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

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

في المثال الأول بين الجنسين هي السمة. في الماضي، بين الجنسين عنصر. توفر كل من الأمثلة على نفس المعلومات.

لا توجد قواعد حول متى يجب استخدام الصفات أو عند استخدام عناصر XML.


الطريقة المفضلة

تحتوي على وثائق XML الثلاثة التالية بالضبط على نفس المعلومات:

ويستخدم السمة التاريخ في المثال الأول:

<note date="2008-01-10">
  <to>Tove</to>
  <from>Jani</from>
</note>

و <date> يستخدم عنصر في المثال الثاني:

<note>
  <date>2008-01-10</date>
  <to>Tove</to>
  <from>Jani</from>
</note>

موسع <date> يستخدم عنصر في المثال الثالث: (THIS IS MY FAVORITE) :

<note>
  <date>
    <year>2008</year>
    <month>01</month>
    <day>10</day>
  </date>
  <to>Tove</to>
  <from>Jani</from>
</note>

تجنب سمات XML؟

بعض الأشياء في الاعتبار عند استخدام الصفات:

  • الصفات لا يمكن أن تحتوي على قيم متعددة (elements can)
  • الصفات لا يمكن أن تحتوي على هياكل شجرة (elements can)
  • الصفات ليست قابلة للتوسيع بسهولة (for future changes)

لا ينتهي مثل هذا:

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

سمات XML عن الفوقية

في بعض الأحيان يتم تعيين مراجع معرف لعناصر. هذه معرفات يمكن استخدامها لتحديد عناصر XML بنفس الطريقة التي يعامل بها id السمة في 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 سمات أعلاه هي للتعرف على الملاحظات المختلفة. وهي ليست جزء من المذكرة نفسها.

ما أحاول قوله هنا هو أن بيانات التعريف (data about data) يجب أن يتم تخزين كما السمات، ويجب أن يتم تخزين البيانات نفسها باعتبارها عناصر.