2.0.1 מסמך DTD פנימי
2.0.1 DTD חיצוני
2.0.1 לשם מה אני זקוק ל - DTD ?

מטרת מסמך DTD היא להגדיר את מבנה מסמך XML. מסמך DTD עושה זאת ע"י הגדרת האלמנטים במסמך XML ואת ההיררכיה שלהם. מסמך DTD יכול להיכלל במסמך XML עצמו(DTD פנימי) או בתור מסמך נפרד (DTD חיצוני)

2.0.1 מסמך DTD פנימי

כאשר DTD הוא פנימי הוא נמצא בתוך מסמך XML כאשר הוא מוקף בהצהרת DOCTYPE בתחביר הבא:

<!DOCTYPE root [element declarations ]>

להלן דוגמה ל- DTD פנימי :

<?xml version="1.0"?>
<!DOCTYPE task [
<!ELEMENT task (id , title , date, responsible)>
<!ELEMENT id #PCDATA>
<!ELEMENT title #PCDATA>
<!ELEMENT date #PCDATA>
<!ELEMENT responsible #PCDATA>]>
<task>
      <id>99882</id>
      <title>Preparing presentation for the board of directors</title>
      <date>12/12/2001</date>
      <responsible>Joan waine</responsible>
</task>

DOCTYPE task! מגדיר שזהו מסמך מסוג task
ELEMENT task! מגדיר את task כאלמנט המכיל 4 אלמנטים (id , title , date, responsible)
ELEMENT id! מגדיר את task כאלמנט מסוג PCDATA#
title,date ו- responsible מוגדרים באותו אופן.

2.0.2 DTD חיצוני

במקרה שמגדירים DTD חיצוני מצהירים עליו בשורה הבאה בקובץ ה XML כך:

<!DOCTYPE root SYSTEM "filename">

דוגמה :

<?xml version="1.0"?>
<!DOCTYPE task SYSTEM "task.dtd">
<task>
            <id>99882</id>
            <title>Preparing presentation for the board of directors</title>
            <date>12/12/2001</date>
            <responsible>Joan waine</responsible>
</task>

כאשר task.dtd הוא מסמך DTD הבא:

<!ELEMENT task (id , title , date, responsible)>
<!ELEMENT id #PCDATA)>
<!ELEMENT title #PCDATA)>
<!ELEMENT date #PCDATA)>
<!ELEMENT responsible #PCDATA)>

2.0.3 לשם מה אני זקוק ל - DTD ?

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

 

הכרת XML
מרכיבי מסמך DTD