Document Type Declaration

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

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

דוגמאות ל-DTD

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

או

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

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

סוגי 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 במקום:

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

DOCTYPE חסר DTD של HTML5 
HTML5 משתמשת בהצהרת DOCTYPE מאוד קצרה, עקב כך שאינה מפנה ל-DTD בצורת URL או FPI. כל מה שהיא כוללת זה את שם התג של אלמנט השורש של המסמך, 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, יש להשתמש בו.

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

הערות שוליים

HTML