DTD - ویژگیها
- اگر میخواهید مقدار ویژگی یک مجموعه از مقادیر قانونی ثابت باشد، از ویژگیهای لیستی استفاده کنید. صفحه قبلی
- صفحه بعدی موجودیتهای DTD
در DTD، ویژگیها از طریق تعیین ATTLIST انجام میشوند.
تعیین ویژگی
استفاده از این نحو برای تعیین ویژگی:
<!ATTLIST 元素名称 属性名称 属性类型 默认值>
مثال DTD:
<!ATTLIST payment type CDATA "check">
مثال XML:
مثال XML:
در زیر:نوع ویژگیاختیارات:
| نوع | توضیح |
|---|---|
| CDATA | مقدار یک دادهی حروفی (character data) است |
| (en1|en2|..) | این مقدار یکی از مقادیر لیست فراگیر است |
| ID | مقدار یک id منحصر به فرد است |
| IDREF | مقدار id یک عنصر دیگر است |
| IDREFS | مقدار یک لیست از idهای دیگر است |
| NMTOKEN | مقدار یک نام قانونی XML است |
| NMTOKENS | مقدار یک لیست از نامهای قانونی XML است |
| ENTITY | مقدار یک شیء است |
| ENTITIES | مقدار یک لیست از اشیاء است |
| NOTATION | این مقدار نام یک نماد است |
| xml: | مقدار یک مقدار پیشفرض XML است |
پارامترهای پیشفرض میتوانند از موارد زیر استفاده شوند:
| مقدار | توضیح |
|---|---|
| مقدار | مقدار پیشفرض ویژگی |
| #REQUIRED | مقدار ویژگی ضروری است |
| #IMPLIED | ویژگی ضروری نیست |
| #FIXED value | مقدار ویژگی ثابت است |
تعیین یک مقدار پیشفرض برای ویژگی
مثال
<!ELEMENT square EMPTY> <!ATTLIST square width CDATA "0">
<!ATTLIST sender company CDATA #FIXED "Microsoft">
<square width="100" />
در مثال بالا، "square" به عنوان یک عنصر خالی با نوع ویژگی CDATA برای ویژگی "width" تعریف شده است. اگر عرض تعیین نشده باشد، مقدار پیشفرض آن 0 است.
#IMPLIED
#FIXED
<!ATTLIST 元素名称 属性名称 属性类型 #IMPLIED>
<!ATTLIST نام_عنصر نام_ویژگی نوع_ویژگی #FIXED "مقدار">
مثال
<!ATTLIST contact fax CDATA #IMPLIED>
<!ATTLIST sender company CDATA #FIXED "Microsoft">
<contact fax="555-667788" />
<!ATTLIST sender company CDATA #FIXED "Microsoft">
<contact />
اگر نمیخواهید نویسنده مجبور به افزودن ویژگی شود و گزینهی پیشفرض ندارید، از کلمهی کلیدی #IMPLIED استفاده کنید.
#REQUIRED
#FIXED
<!ATTLIST 元素名称 属性名称 属性类型 #REQUIRED>
<!ATTLIST نام_عنصر نام_ویژگی نوع_ویژگی #FIXED "مقدار">
مثال
<!ATTLIST sender company CDATA #FIXED "Microsoft">
<!ATTLIST person number CDATA #REQUIRED>
<sender company="Microsoft" />
<person number="5677" />
<person />
اگر گزینه مقدار پیشفرض ندارید اما همچنان میخواهید نویسنده را مجبور به ارسال ویژگی کنید، از کلمه کلیدی #REQUIRED استفاده کنید.
#FIXED
نحوه استفاده:
<!ATTLIST نام_عنصر نام_ویژگی نوع_ویژگی #FIXED "مقدار">
مثال
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

