السمة XML
يمكن أن عناصر XML لها سمات مشابهة لHTML.
السمة (سمة) يوفر معلومات إضافية حول العنصر.
السمة XML
في HTML، توفر سمات حصول على معلومات إضافية حول العنصر:
<a href="demo.html">
خصائص ليست دائما ما تقدم المعلومات حول جزء البيانات. في المثال التالي، نوع الملف له علاقة مع البيانات، ولكن الحاجة إلى التعامل مع هذا العنصر من برنامج شيء مهم جدا:
يجب أن تكون نقلت سمات XML
يجب أن تكون محاطة القيم السمة علامات اقتباس، على الرغم من علامات الاقتباس المفردة أو المزدوجة يمكن استخدامها. على سبيل المثال، بين الجنسين الشخص، وعنصر شخص يمكن كتابة:
أو قد يكون ذلك:
إذا كانت قيمة السمة نفسها تحتوي على علامات الاقتباس المزدوجة يمكنك استخدام علامات الاقتباس المفردة، مثل هذا المثال:
أو يمكنك استخدام الكيانات الحرف:
عناصر XML مقابل سمات
النظر في هذه الأمثلة:
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
في المقام الأول، والجنس هو سمة. في المقام الثاني، والجنس هو عنصر. توفر كل من الأمثلة على نفس المعلومات.
لا توجد قاعدة يمكن أن تخبرنا متى تستخدم الصفات، وعندما لاستخدام العناصر. تجربتي في HTML فإن المنشأة هي مريحة جدا للاستخدام، ولكن في XML، يجب أن تحاول تجنب استخدام الممتلكات. وإذا أحست المعلومات مثل البيانات، واستخدام عناصر منه.
الطريقة المفضلة
تحتوي على وثائق XML الثلاثة التالية بالضبط على نفس المعلومات:
يستخدم المثال الأول خصائص التاريخ:
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
يستخدم المثال الثاني العناصر تاريخ:
<date>10/01/2008</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</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):
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>
التعريف XML للخاصية
في بعض الأحيان يتم تعيين مراجع معرف للعناصر. معرف يمكن استخدامها لتحديد مؤشر عنصر XML، والطريقة التي تعمل في سمة معرف HTML هي نفسها. أظهر هذا المثال لنا هذا الوضع:
<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>
هو مجرد يستخدم سمة معرف معرف أعلاه لتحديد الملاحظات المختلفة. أنها ليست جزءا من بيانات الملاحظات.
نحن هنا حاولت تمرير فلسفتك هي: البيانات الوصفية (بيانات عن البيانات) يجب أن يتم تخزين كما السمات، ويجب أن يتم تخزين البيانات نفسها العناصر.