DTD - امتیازیات

در DTD، ویژگی‌ها از طریق ATTLIST برای اعلام استفاده می‌شوند.

اعلام ویژگی

استفاده از گرامر زیر برای اعلام ویژگی‌ها:

<!ATTLIST نام_عنصر نام_ویژگی نوع_ویژگی مقدار_پیش‌فرض>

مثال DTD:

<!ATTLIST payment type CDATA "check">

مثال XML:

<payment type="check" />

در زیر:نوع ویژگیگزینه‌های:

نوع توضیح
CDATA مقدار به عنوان داده‌های کاراکتری (character data)
(en1|en2|..) این مقدار یکی از مقادیر لیست انتخابی است
ID id منحصر به فرد
IDREF id دیگری از عناصر
IDREFS لیست دیگر id
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" به عنوان یک عنصر خالی با نوع CDATA برای ویژگی "width" تعریف شده است. اگر عرض تنظیم نشده باشد، مقدار پیش‌فرض آن 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" />

اگر آپ کی امتیازیات کا ورثہ کسی قائم شدہ اور معتبر قیمتیز کا سلسلہ کا ایک حصہ ہونا چاہیئے تو، لسانی امتیازیات کا استعمال کریں