Document Type Declaration

מתוך המכלול, האנציקלופדיה היהודית
קפיצה לניווט קפיצה לחיפוש

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

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

דוגמאות ל-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-19.
  2. ^ "The HTML syntax ― HTML5". נבדק ב-2011-06-05.