Latest web development tutorials

السمة XML

يمكن أن عناصر XML لها سمات مشابهة لHTML.

السمة (سمة) يوفر معلومات إضافية حول العنصر.


السمة XML

في HTML، توفر سمات حصول على معلومات إضافية حول العنصر:

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

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

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


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

يجب أن تكون محاطة القيم السمة علامات اقتباس، على الرغم من علامات الاقتباس المفردة أو المزدوجة يمكن استخدامها. على سبيل المثال، بين الجنسين الشخص، وعنصر شخص يمكن كتابة:

<person sex="female">

أو قد يكون ذلك:

<person sex='female'>

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

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

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

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


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

النظر في هذه الأمثلة:

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

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

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

لا توجد قاعدة يمكن أن تخبرنا متى تستخدم الصفات، وعندما لاستخدام العناصر. تجربتي في HTML فإن المنشأة هي مريحة جدا للاستخدام، ولكن في XML، يجب أن تحاول تجنب استخدام الممتلكات. وإذا أحست المعلومات مثل البيانات، واستخدام عناصر منه.


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

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

يستخدم المثال الأول خصائص التاريخ:

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

يستخدم المثال الثاني العناصر تاريخ:

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

يستخدم المثال الثالث على عنصر التاريخ الممتد (والذي هو المفضل لدي):

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


تجنب السمة XML؟

بعض من المشاكل الناجمة عن استخدام الملكية:

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

الملكية يكون من الصعب قراءة والمحافظة عليها. محاولة استخدام عناصر لوصف البيانات. ولكن فقط استخدام الخاصية لتوفير البيانات والمعلومات المستقلة.

لا تفعل مثل هذا التصرف الغبي (لا ينبغي أن تستخدم هذا XML):

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


التعريف XML للخاصية

في بعض الأحيان يتم تعيين مراجع معرف للعناصر. معرف يمكن استخدامها لتحديد مؤشر عنصر 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>

هو مجرد يستخدم سمة معرف معرف أعلاه لتحديد الملاحظات المختلفة. أنها ليست جزءا من بيانات الملاحظات.

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