DTD - الخاصية

في DTD، يتم الإعلان عن الخاصية من خلال استخدام جملة ATTLIST.

إعلان الخاصية

استخدام لغة الجرامر التالية للإعلان عن الخاصية:

<!ATTLIST اسم العنصر اسم الخاصية نوع الخاصية قيمة افتراضية>

مثال DTD:

<!ATTLIST payment type CDATA "check">

مثال XML:

<payment type="check" />

الآتي هو:نوع الخاصيةخيارات:

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

يمكن استخدام المعلمات التالية لمعلمات القيمة الافتراضية:

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

تحديد قيمة افتراضية للخصائص

DTD:

!ELEMENT square EMPTY>
!ATTLIST square width CDATA "0">

XML صالح:

<square width="100" />

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

#IMPLIED

القواعد

!ATTLIST 元لاسم اسم الخاصية نوع الخاصية #IMPLIED>

مثال

DTD:

!ATTLIST contact fax CDATA #IMPLIED>

XML صالح:

<contact fax="555-667788" />

XML صالح:

<contact />

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

#REQUIRED

القواعد

!ATTLIST 元لاسم اسم الخاصية نوع الخاصية #REQUIRED>

مثال

DTD:

!ATTLIST person number CDATA #REQUIRED>

XML صالح:

<person number="5677" />

XML غير صالح:

<person />

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

#FIXED

القواعد

!ATTLIST 元素名称 اسم الخاصية نوع الخاصية #FIXED "value">

مثال

DTD:

!ATTLIST sender company CDATA #FIXED "Microsoft">

XML صالح:

<sender company="Microsoft" />

XML غير صالح:

<sender company="W3School" />

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

إدراج قيم الخصائص

القواعد:

!ATTLIST 元素名称 属性名称 (en1|en2|..) 默认值

مثال على DTD:

!ATTLIST payment type (check|cash) "cash">

مثال على XML:

<payment type="check" />

أو

<payment type="cash" />

إذا كنت ترغب في أن يكون قيمة الخاصية واحدة من قائمة معينة من القيم المقبولة، استخدم خاصية القائمة.