Khi chúng ta định nghĩa các phần tử trong XML là tùy thích, miễn sao cho nó hợp quy tắc của tài liệu XML. Tuy nhiên để tường minh hơn thì ta nên định nghĩa kiểu dữ liệu cho từng phần tử trong tài liệu XML.
Trong chương trước chúng ta đã học cách viết một tài liệu hợp khuôn dạng.
Tuy nhiên một tài liệu XML được xem là hợp khuôn dạng và có giá trị khi toàn bộ các phần tử trong tài liệu được được định nghĩa kiểu dữ liệu mà nó chứa.
Với cách định nghĩa kiểu tư liệu (DTD) khi chúng ta đọc một tài liệu XML nào thì chỉ cần đọc phần DTD thì chúng ta sẽ biết được cấu trúc của tài liệu XML.
Trước khi đi vào phần chi tiết về cách tạo một tài liệu DTD, chúng ta hãy xem ví dụ sau:
<?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>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body>
</note>
Xem ví dụ trên chúng ta thấy phần được bôi đen là phần DTD dùng để mô tả kiểu dữ liệu của tài liệu XML, phần có màu nhạt là các phần tử của tài liệu XML.
Phần DTD trong ví dụ này được hiểu như sau: Tài liệu XML có một phần tử gốc tên là note, phần tử gốc này có 3 phần tử con là from, heading, body và 3 phần tử con này có kiểu dữ liệu text.