שפת Document Type Definition (ראשי תיבות: DTD, בעברית: הגדרת סוג מסמך) מגדירה את המבנה של מסמכים שנכתבים ב־XML או ב־SGML. XML ו־SGML הן שפות סימון (שפות שמסמנות מידע בטקסט), והן מאפשרות להעביר מידע בצורה קריאה למערכות שונות.
כיון ש־XML גמישה ובת־הרחבה (eXtensible Markup Language), ולכל מסמך יש צרכים שונים, צריך תקן שיקבע איך המידע יסודר. DTD מגדיר את התבנית והחוקים שמצפים להם הקוראים של המסמך, כדי שיוכלו לעבד את הנתונים נכון.
בדוגמה מופיעים אלמנטים (יחידות מבנה במסמך) כמו people_list ו־person. משמעות הסימונים בדוגמה:
- people_list הוא אלמנט שבפנים יכול להכיל אפס או יותר אלמנטים מסוג person. הכוכבית (*) מסמלת "אפס או יותר".
- person הוא אלמנט שצריך להכיל את name, ואפשר לשלב בו גם את birthdate, gender ו־socialsecuritynumber. סימן השאלה (?) אומר שהאלמנט הוא אופציונלי, יכול להופיע פעם אחת או לא להופיע כלל.
- name, birthdate, gender ו־socialsecuritynumber הם אלמנטים שיכולים להכיל character data. character data פירושו טקסט רגיל, כלומר מילים ותווים, לא אלמנטים אחרים.
העיקר: DTD מבהיר לקורא התוכנה אילו אלמנטים יש במסמך, באיזו סדר הם מופיעים, ואילו מהם חובה או אופציונליים. כך תוכנות שונות יכולות להבין ולעבד מסמכים בצורה אחידה.
Document Type Definition או DTD (הגדרת סוג מסמך) אומר איך מסמך בנוי. XML ו־SGML הן שפות סימון. שפת סימון היא דרך לסדר מידע בטקסט.
XML היא גמישה. לכן צריך להחליט איך לכתוב מסמכים. DTD קובע חוקים שמראים איך המידע צריך להיראות.
בדוגמה יש אלמנטים. אלמנט הוא יחידת מידע במסמך.
- people_list יכול להכיל כמה person, או אף אחד. הכוכבית (*) אומרת "אפס או יותר".
- person חייב להכיל name. הוא אולי יכלול גם birthdate, gender או socialsecuritynumber. הסימן (?) אומר "אולי פעם אחת, אולי לא".
- name ויתר השדות יכולים להכיל character data. זה פשוט טקסט, מילים רגילות.
בקיצור: DTD מסביר איזו סדרה של אלמנטים מותרת במסמך. כך תוכנות מבינות את המידע בצורה דומה.
תגובות גולשים