مقدمه DTD

تعریف نوع مستند (DTD) می‌تواند ماژول‌های ساختاری قانونی مستند XML را تعریف کند. این از مجموعه‌ای از عناصر قانونی برای تعریف ساختار مستند استفاده می‌کند.

DTD می‌تواند به صورت خطی در مستند XML اعلام شود یا به عنوان یک ارجاع خارجی.

اعلان DTD داخلی

اگر DTD در داخل فایل منبع XML قرار دارد، باید با استفاده از زبان زیر در یک اعلان DOCTYPE بسته شود:

!DOCTYPE ریشه [توضیحات عنصر]

مثال مستند XML با DTD (لطفاً در نسخه IE5 و بالاتر باز کنید و دستور "منبع کد مشاهده شود" را انتخاب کنید):

<?xml version="1.0"?>
!DOCTYPE note [
  <!ELEMENT note (to,from,heading,body)>
  !ELEMENT to      (#PCDATA)>
  !ELEMENT from    (#PCDATA)>
  <!ELEMENT heading (#PCDATA)>
  !ELEMENT body    (#PCDATA)>
]>
<note>
  <to>George</to>
  <from>John</from>
  <heading>Reminder</heading>
  <body>Don't forget the meeting!</body>
</note>

این فایل XML را در مرورگر خود باز کنید و دستور "منبع کد مشاهده شود" را انتخاب کنید.

توضیح DTD بالا به شرح زیر است:

!DOCTYPE note [ (در سطر دوم) این مستند را تعریف می‌کند که این مستند است note نوع مستند.

!ELEMENT note (در سطر سوم) تعریف note عنصر چهار عنصر دارد: "to،from،heading،body"

!ELEMENT to (در سطر چهارم) تعریف به عنصر به نوع "#PCDATA" است

!ELEMENT from (در سطر پنجم) تعریف از عنصر به نوع "#PCDATA" است

!ELEMENT heading (در سطر ششم) تعریف heading عنصر به نوع "#PCDATA" است

!ELEMENT body (در سطر هفتم) تعریف body عنصر به نوع "#PCDATA" است

اظهارنامه مستند خارجی

اگر DTD در خارج از فایل منبع XML قرار دارد، باید در یک تعریف DOCTYPE با استفاده از زبان زیر بسته شود:

<!DOCTYPE ریشه SYSTEM "نام فایل">

این مستند XML با مستند XML بالا مشابه است، اما دارای یک DTD خارجی است: (در IE5 باز کنید، و دستور "منبع به نمایش درآوردن" را انتخاب کنید.)

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

این فایل "note.dtd" شامل DTD است:

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>

چرا از DTD استفاده می‌کنیم؟

با استفاده از DTD، هر فایل XML شما می‌تواند یک توصیفی از قالب خود را حمل کند.

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

و برنامه شما نیز می‌تواند از یک DTD استاندارد برای تأیید داده‌هایی که از خارج دریافت می‌کند، استفاده کند.

شما همچنین می‌توانید از DTD برای تأیید داده‌های خود استفاده کنید.