في 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" />
استخدام قيم السمة تعدادها عندما تريد قيمة السمة ليكون واحدا من مجموعة ثابتة من القيم القانونية.