يحدد تعريف نوع المستند (DTD – Document Type Definition) العلامات والسمات المستخدمة في مستند XML أو HTML.
يمكن استخدام أي عناصر محددة في DTD في هذه المستندات، جنبًا إلى جنب مع العلامات والسمات المحددة مسبقًا والتي تعد جزءًا من كل لغة ترميزية. فيما يلي مثال على DTD المستخدم لتعريف السيارة:
<!DOCTYPE automobile [
<!ENTITY header “Car Details”>
<!ELEMENT make (#PCDATA)>
<!ELEMENT model (#PCDATA)>
<!ATTLIST model doors (two | four) #required>
<!ELEMENT year (#PCDATA)>
<!ELEMENT engine (#PCDATA)>
<!ATTLIST engine transmission (manual | automatic) #required>
]>
يعرّف DTD أعلاه أولاً رأس العنصر بأنه “تفاصيل السيارة”. ثم يوفر عناصر لتحديد نوع السيارة وطرازها. نوع البيانات “#PCDATA” يعني أنه يمكن أن يكون أي قيمة نصية.
توفر علامة “ATTLIST” الموجودة في السطر التالي خيارات لعنصر معين. في هذه الحالة، ينص على أن النموذج يمكن أن يحتوي على بابين أو أربعة أبواب.
يوفر تعريف نوع المستند DTD بعد ذلك عناصر لسنة ونوع محرك السيارة، يليها اختيار ناقل الحركة اليدوي أو الأوتوماتيكي للمحرك.
المثال أعلاه هو DTD أساسي يستخدم عددًا قليلاً من أنواع البيانات. يمكن أن يصل طول تعريفات أنواع المستندات المستخدمة لقواعد بيانات XML الكبيرة إلى آلاف الأسطر ويمكن أن تتضمن العديد من أنواع البيانات الأخرى.
ولحسن الحظ، يمكن تعديل DTDs بسهولة في محرر النصوص كلما دعت الحاجة إلى إجراء تغييرات.