Document Type Definition

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

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

שפת Document Type Definitionראשי תיבות: DTD) היא שפה המשמשת להגדרת מבנה של מסמכים בשפות סימון.

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

ה־DTD נועד להגדיר מבנה סכמתי של מסמך הכתוב בשפת סימון מסוימת. הוא מגדיר כללים בסיסיים בשפת הסימון שגורמים למסמך להיות בעל מבנה סכמתי דומה מאוד בכל המסמכים הכתובים באותה שפת סימון מסוימת. עובדה זו מקלה על הקריאה של המסמכים, מעלה את היעילות, ומונעת בעיות רבות עם קוד הסימון.

ה־DTD נוצר מיד לאחר הולדתם של ה־SGML ושל ה־XML. בשפת ה־DTD משתמשים באלמנטים ובמאפיינים של כל אלמנט בשפת הסימון, לכל אלמנט מגדירים את התחביר הבסיסי שלו ומיקומים אפשריים במסמך. לדוגמה, תגית head בשפת HTML לא יכולה להופיע לפני תגית ה־html.

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

  1. מבנה נוקשה: http://www.w3.org/TR/html4/strict.dtd
  2. מבנה "חופשי": http://www.w3.org/TR/html4/loose.dtd
  3. מבנה של מסמך עם מסגרות (frames):‏ http://www.w3.org/TR/html4/frameset.dtd

[עריכה] דוגמאות

השורה הבאה במסמך הDTD תגדיר את השימוש בתגית BR בשפת HTML :
<!ELEMENT BR - O EMPTY -- forced line break -->
השורה הזאת מגדירה שלתגית BR חייב להיות תגית פותחת <br> והO נותנת אפשרות להשתמש בתגית סיום <br/>.
לעומתה קיימת ההגדרה הזאת:
<!ELEMENT br EMPTY>
הגדרה זאת מחייבת סיום של התגית על ידי <br/> כלומר חובה <br></br> או בקיצור </ br>.

[עריכה] ראו גם

  • סכמת XML