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 "value">

مثال

<!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 "value">

مثال


<!ATTLIST sender company CDATA #FIXED "Microsoft">

<!ATTLIST person number CDATA #REQUIRED>

<sender company="Microsoft" />

<person number="5677" />

<person />

اگر گزینه مقدار پیش‌فرض ندارید، اما همچنان می‌خواهید نویسنده را مجبور به ارسال ویژگی کنید، از کلمه کلیدی #REQUIRED استفاده کنید.

#FIXED

نحوه نوشتن:

<!ATTLIST نام_عنصر نام_ویژگی نوع_ویژگی #FIXED "value">

مثال

DTD:

<!ATTLIST sender company CDATA #FIXED "Microsoft">

XML معتبر:

<sender company="Microsoft" />

XML نامشروع:

<sender company="W3School" />

اگر می‌خواهید مقدار ویژگی ثابت باشد و نویسنده نتواند آن را تغییر دهد، از کلمه کلیدی #FIXED استفاده کنید. اگر نویسنده مقدار متفاوتی استفاده کند، XML parser خطا خواهد داد.

مقادیر لیستی

نحوه نوشتن:

<!ATTLIST نام_عنصر نام_ویژگی (en1|en2|..) مقدار_默认>

مثال DTD:

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

مثال XML:

<payment type="check" />

یا

<payment type="cash" />

  • اگر می‌خواهید مقدار ویژگی یک سری از مقادیر قانونی ثابت باشد، از مقادیر لیستی استفاده کنید. صفحه قبلی
  • صفحه بعدی DTD اجزا