Get Adobe Flash player
דף הבית כללי מהו DTD

למה משמש ה-DOCTYPE?

המעבר שנעשה בשנים האחרונות לשפו XHTML יצר מצב שבו הדפדפן אינו יודע בהכרח באיזו שפה כתוב האתר. יתרה מכך, גם אנשים הכותבים ב XHTML, ומקפידים על כללי הכתיבה הנהוגים בו, משתמשים לעיתים גם בתגים שאינם תקניים עוד, אך היו מקובלים מאוד בעידן ה HTML.

מצבים אלו יוצרים "בלבול" רב ותיקון למצב התחייב.

תיקון זה בא באמצעות ה- DTD שהוא "הגדרת סוג המסמך" או באנגלית - DocType Defifnition. 

ה-doctype אינו תג HTML אלא הוראה לדפדפן לגבי גרסת השפה בה כתוב הדף. לכתיבת ה DTD יש תחביר מיוחד. הוא אינו יכול להיכתב כטקסט, שמא יופיע על המסך. הוא גם אינו יכול להופיע סתם בתוך סוגריים משולשים כאילו היה תג HTML - כי הוא אינו כזה. הדרך לכתיבה על כן היא ע"י הוספת סימן קריאה אחר הסוגר המשולש - שיטה מקובלת ב-HTML לביטול תגים.

ברירת המחדל של הדפדפנים היא כי האתר שמגיע אליו כתוב ב HTML ועל כן, כאשר כותבים ל XHTML, חובה לכתוב את הצהרת ה DTD בראש הדף.

סוגי ה DTD

הצהרת ה doctype מתייחסת כאמור אל ה DTD - Document Type Definition. ה-DTD מציין את החוקים והכללים לשפת הקוד כך שהדפדפן לא צריך "לנחש" ולהתאים את עצמו בצורה נכונה אל התוכן.

ל DTD יש 3 סוגים מוגדרים:

  1. עמוד HTML/XHTML נוקשה (Strict)
  2. עמוד HTML/XHTML מעבר (Transitional)
  3. עמוד HTML/XHTML פריימסט (Frameset)

כל אחד משלושת הסוגים האלה הוא (DTD (Document Type Defenition.

מצב נוקשה - Strict

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

DTD זה מאפשר הצגת כל תגי ה HTML ותכונותיהם למעט התגים המיועדים ישירות לעיצוב (כגון התג <font> ותכונותיו). DTD זה גם לא מאפשר שימוש בתגי Frameset

במצב זה משתמשים רק כאשר הקוד נקי ומדוייק לחלוטין, וכל הוראות העיצוב מבוצעות ע"י CSS.

 

מצב מעבר - Transitional 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>

DTD זה מאפשר הצגת כל תגי ה HTML ותכונותיו כולל התגים לעיצוב בלבד (כגון התג <font> ותכונותיו) אך הוא אינו תומך בתגי Frameset

השימוש ב-Transitional נעשה בעיקר בתקופת המעבר בין HTML ל-XHTML. במצב זה אנו לא מחויבים להשתמש ב-CSS, ובכך האתר שלנו יכול לתמוך גם בדפדפנים שלא תומכים ב- CSS.

 

מצב מעבר - Framset

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Framset//EN"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-framset.dtd

DTD זה דומה למצב Transitional אבל מאפשר גם עבודה ב frameset. המשמעות היא שבדף הגדרות של frameset (דף שאין בו body ותוכן כל שהוא) נוכל להשתמש בכל תגי ה-"Frameset"

אל השיעור הקודם