**Document Type Declaration** (או **DOCTYPE**, בעברית: **הצהרת סוג מסמך**) היא הוראה שמשייכת מסמך SGML או XML מסוים, דף אינטרנט לדוגמה, להגדרת סוג מסמך - DTD (לדוגמה, הצהרה רשמית על סוג מסוים של HTML). ההוראה באה לידי ביטוי על ידי מחרוזת קצרה בשפת סימון עם תחביר קבוע מראש הנכתבת בקוד, בראש הדף.

ה-DOCTYPE הוגדר ב-HTML5 כהצהרה "מיותרת ברובה, אבל נחוצה" רק על מנת לגרום לדפדפנים עדכניים לנתח את הדף בצורה הנכונה.

דוגמאות ל-DTD
-------------

### תחביר

התחביר הכללי עבור הצהרת סוג מסמך הוא כזה:

```
<!DOCTYPE root-element PUBLIC "FPI" ["URI"] [
<!-- הגדרות קבוצות משנה פנימיות -->
]>
```

או

```
<!DOCTYPE root-element SYSTEM "URI" [
<!-- הגדרות קבוצות משנה פנימיות -->
]>
```

ב-XML, אלמנט השורש שמייצג את המסמך הוא האלמנט הראשון במסמך. לדוגמה, ב-XHTML, אלמנט השורש הוא `<html>`, כאשר הוא האלמנט הראשון שנפתח (אחרי הצהרת ה-doctype) והאחרון שנסגר. החלק האחרון, שמוקף בסוגריים המרובעים, קורא לקבוצות משנה פנימיות שבהן ניתן להשתמש על מנת להוסיף ולערוך ישויות או להוסיף ולערוך התנהגויות של מילת המפתח PUBLIC.

### דוגמה

השורה הראשונה של אתרי אינטרנט רבים נראית כך:

```
<!DOCTYPE html PUBLIC
 "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="ar" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
```

### סוגי DTD של HTML 4.01

Strict DTD ("מחמיר") לא מאפשר הצגת סימון עם אפשרויות שהיה ניתן להשתמש בגיליונות סגנון מדורגים עבורם במקום. כך נראה DTD מחמיר:

```
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
 "http://www.w3.org/TR/html4/strict.dtd">
 <html>
```

```
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
 <html>
```
אם נעשה שימוש במסגרות (frames), יש צורך בלהשתמש ב-Frameset DTD במקום:

```
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
 "http://www.w3.org/TR/html4/frameset.dtd">
 <html>
```

### ה-DTD של XHTML 1.1

XHTML 1.1 הוא הגרסה המוגמרת ביותר של XHTML, בה הוצגה תמיכה במודולריזציה של XHTML. ההגדרה של משתמשת באותה רמת החמרה כמו ב-XHTML 1.0 Strict.

```
<!DOCTYPE html PUBLIC
 "-//W3C//DTD XHTML 1.1//EN"
 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
```

### DOCTYPE חסר DTD של HTML5

HTML5 משתמשת בהצהרת DOCTYPE מאוד קצרה, עקב כך שאינה מפנה ל-DTD בצורת URL או FPI. כל מה שהיא כוללת זה את שם התג של אלמנט השורש של המסמך, HTML. במילים של טיוטת התקן בעצמה: 

> 
> במילים אחרות, `<!DOCTYPE HTML>`, ללא רגישות לרישיות.
> 
> 
> 
> 

 אם לא נתחשב במקרה החריג שחסר את ה-URI או את מחרוזת ה-FPI (שמטופלת בצורה רגישה לאותיות רישיות על ידי מאמתים), הצורה הזו (חוסר רגישות לרישיות במחרוזת !DOCTYPE HTML) היא אותה צורה שניתן למצוא ב-DOCTYPE של HTML 4.01. גם ב-HTML 4 וגם ב-HTML5, התחביר הרשמי מוגדר באותיות גדולות, אף על פי שאותיות הקטנות וערבובים של אותיות קטנות וגדולות מטופלים כתקינים.

ב-XHTML5 ה-DOCTYPE הוא תלוי רישיות, והוא חייב להיות: "`<!DOCTYPE html>`", זאת מכיוון שבתחביר XHTML כל ה-HTML PUBLIC חייב להיות באותיות קטנות, כולל אלמנט השורש שאליו פונים בתוך ה-DOCTYPE של HTML5.

ה-DOCTYPE אינו חובה ב-XHTML5, וניתן להשמיטו. עם זאת, אם רוצים שהמסמך יעובד גם כ-XML וגם כ-HTML, יש להשתמש בו.

ראו גם
------

* גיליונות סגנון מדורגים

הערות שוליים
------------

1. ↑  "35 Helpful HTML & HTML5 Interview Questions & Answers". אורכב מ-המקור ב-2015-02-17. נבדק ב-2015-02-19.
2. ↑  "The HTML syntax ― HTML5". נבדק ב-2011-06-05.