DTD - امتیازیات
- آئندہ پیمانہ پچھلے پیمانہ
- آئندہ پیمانہ 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" />
اگر آپ کی امتیازیات کا ورثہ کسی قائم شدہ اور معتبر قیمتیز کا سلسلہ کا ایک حصہ ہونا چاہیئے تو، لسانی امتیازیات کا استعمال کریں
- آئندہ پیمانہ پچھلے پیمانہ
- آئندہ پیمانہ DTD عناصر کی تفاوت امتیازیات