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

DTD - سمات


في DTD، وأعلن سمات مع إعلان ATTLIST.


إعلان سمات

إعلان السمة بناء الجملة التالي:

<!ATTLIST element-name attribute-name attribute-type attribute-value>

DTD example:

<!ATTLIST payment type CDATA "check">

XML example:

<payment type="check" />

و attribute-type يمكن أن يكون أحد الخيارات التالية:

اكتب وصف
CDATA القيمة هي بيانات شخصية
( en1 | en2 |..) يجب أن تكون قيمة واحدة من قائمة تعدادها
ID القيمة هي هوية فريدة من نوعها
IDREF القيمة هي معرف عنصر آخر
IDREFS القيمة هي قائمة من هويات أخرى
NMTOKEN القيمة هي اسم XML صالح
NMTOKENS القيمة هي قائمة بأسماء XML صالحة
ENTITY القيمة هي كيان
ENTITIES القيمة هي قائمة الكيانات
NOTATION القيمة هي اسم التدوين
xml: القيمة هي قيمة أكس مسبقا

و attribute-value يمكن أن يكون أحد الخيارات التالية:

القيمة شرح
value القيمة الافتراضية السمة
#REQUIRED مطلوب السمة
#IMPLIED السمة اختيارية
#FIXED value قيمة السمة الثابتة

سمة القيمة الافتراضية

DTD:
<!ELEMENT square EMPTY>
<!ATTLIST square width CDATA "0">

Valid XML:
<square width="100" />

في المثال أعلاه، فإن "square" يعرف عنصر عنصرا فارغة مع "width" سمة من نوع CDATA. إذا لم يتم تحديد العرض، كان لديه قيمة افتراضية 0.


#مطلوب

بناء الجملة

<!ATTLIST element-name attribute-name attribute-type #REQUIRED>

مثال

DTD:
<!ATTLIST person number CDATA #REQUIRED>

Valid XML:
<person number="5677" />

Invalid XML:
<person />

استخدم الكلمة #REQUIRED إذا لم يكن لديك خيار لقيمة افتراضية، ولكن لا تزال ترغب في فرض السمة أن يكون حاضرا.


#ضمني

بناء الجملة

<!ATTLIST element-name attribute-name attribute-type #IMPLIED>

مثال

DTD:
<!ATTLIST contact fax CDATA #IMPLIED>

Valid XML:
<contact fax="555-667788" />

Valid XML:
<contact />

استخدم الكلمة #IMPLIED إذا كنت لا ترغب في فرض المؤلف لتشمل سمة، وليس لديك خيار لقيمة افتراضية.


#ثابت

بناء الجملة

<!ATTLIST element-name attribute-name attribute-type #FIXED "value">

مثال

DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">

Valid XML:
<sender company="Microsoft" />

Invalid XML:
<sender company="w3ii" />

استخدم الكلمة #FIXED عندما تريد سمة ليكون لها قيمة ثابتة دون السماح للمؤلف لتغييره. إذا تضمن مؤلف قيمة أخرى، فإن محلل XML بإرجاع خطأ.


قيم السمة المذكورة

بناء الجملة

<!ATTLIST element-name attribute-name (en1|en2|..) default-value>

مثال

DTD:
<!ATTLIST payment type (check|cash) "cash">

XML example:
<payment type="check" />
or
<payment type="cash" />

استخدام قيم السمة تعدادها عندما تريد قيمة السمة ليكون واحدا من مجموعة ثابتة من القيم القانونية.