הבדל מפתח – DTD לעומת XSD
DTD ו-XSD קשורים ל-XML, המשמש להעברת נתונים בין מספר הפונקציות שלו. רוב היישומים דורשים העברת נתונים. כאשר מחשב הלקוח דורש לקבל נתונים מהשרת, צריכה להיות שיטה יעילה לאחזר נתונים. ניתן להשתמש ב-XML כדי להשיג משימה זו. זה קיצור של Extensible Markup Language. היתרון העיקרי בשימוש ב-XML הוא העברת נתונים. מלבד זאת, ניתן להשתמש בו גם להגדרת מסגרות ולעיצוב הפריסה עבור יישומי אנדרואיד. התגים המשמשים ב-XML אינם מוגדרים מראש. המתכנת יכול לכתוב את התגים בהתאם לאפליקציה.מסמך XML מכיל את המבנה והתוכן. ב-XML, DTD מייצג הגדרת סוג מסמך ו-XSD מייצג הגדרת סכמת XML. DTD היא קבוצה של הצהרות סימון שמגדירות סוג מסמך עבור SGML - שפת סימון משפחתית. XSD מציין כיצד לתאר את האלמנטים במסמך שפת סימון מתרחבת באופן רשמי. ההבדל העיקרי בין DTD ל-XSD הוא שניתן להשתמש ב-DTD להגדרת המבנה בעוד שניתן להשתמש ב-XSD להגדרת המבנה והתוכן. מאמר זה דן בהבדל בין DTD ל-XSD.
מה זה DTD?
DTD מייצג הגדרת סוג מסמך. הוא משמש לתיאור שפת XML במדויק. המטרה העיקרית של DTD היא להגדיר את המבנה של קובץ XML. הוא מכיל רשימה של מרכיבים משפטיים. הוא משמש גם לביצוע אימות. ישנם שני סוגים של DTD. הם פנימיים או חיצוניים. אם רכיבי DTD מוצהרים בתוך קובץ ה-XML, זה ידוע בתור DTD פנימי. אם רכיבי ה-DTD מוצהרים בקובץ אחר, זה ידוע בתור DTD חיצוני.
איור 01: DTD פנימי
לפי האמור לעיל, האלמנטים מוצהרים בתוך קובץ ה-XML. אז זה DTD פנימי. ה-<! DOCTYPE Student מגדיר שאלמנט הבסיס של המסמך הוא Student. ההגדרה מגדירה שהרכיב Student מורכב משלושה אלמנטים שהם מזהה, שם ואימייל. כל מזהה, שם ואימייל מוגדרים בנפרד. כולם סוגי נתונים הניתנים לניתוח. DTD קיים משורה מספר 2 עד 7. השאר הם XML.
איור 02: הוספת קובץ ה-DTD החיצוני
כאשר קובץ ה-DTD נשמר כ-student.dtd, יש להוסיף אותו לקובץ ה-XML. זה נעשה באופן הבא;
מה זה XSD?
XSD מייצג XML Schema Definition. הוא משמש להגדרת המבנה והתוכן של קבצי XML. זוהי שיטה להבעת אילוץ של קובץ ה-XML. XSD דומה ל-DTD, אבל הוא מספק יותר שליטה במבנה XML. ישנם שני סוגים של קבצי XSD. הם סוג פשוט וסוג מורכב. ה-simpleType מאפשר להחזיק אלמנטים מבוססי טקסט. הוא מכיל פחות תכונות, רכיבי צאצא ואי אפשר להשאיר אותו ריק. ה-complexType מאפשר להחזיק מספר תכונות ואלמנטים. הוא מכיל רכיבי משנה נוספים וניתן להשאיר אותו ריק.
איור 03: קובץ חדש1.xsd
לפי קובץ XSD לעיל, מגדיר ששם הרכיב הוא Student. מגדיר שהאלמנט Student הוא סוג מורכב. מגדיר שהטיפוס המורכב הוא רצף של אלמנטים. מגדיר שמזהה האלמנט הוא מסוג מחרוזת או טקסט. השם והאימייל הם גם מסוג מחרוזת או טקסט.
איור 04: קובץ Student.xml
למעלה נמצא קובץ ה-XML, המיקום של הקובץ new1.xsd צריך להיכלל בתוך xsi:schemaLocation.
מהו הדמיון בין DTD ל-XSD?
ניתן להשתמש גם ב-DTD וגם ב-XSD כדי להגדיר את המבנה של מסמך XML
מה ההבדל בין DTD ל-XSD?
DTD לעומת XSD |
|
DTD היא קבוצה של הצהרות סימון שמגדירות סוג מסמך עבור SGML – שפת סימון משפחתית. | XSD מציין כיצד לתאר את הרכיבים במסמך שפת סימון הרחבה באופן רשמי. |
מייצג | |
DTD מייצג הגדרת סוג מסמך. | XSD מייצג XML Schema Definition. |
שליטה במבנה XML | |
DTD מספק פחות שליטה על מבנה ה-XML. | XSD מספק שליטה רבה יותר על מבנה ה-XML. |
תמיכה בסוגי נתונים | |
DTD אינו תומך בסוגי נתונים. | XSD תומך בסוגי נתונים. |
Simplicity | |
DTD קשה יותר מ-XSD. | XSD פשוט מ-DTD. |
סיכום – DTD לעומת XSD
XML היא טכנולוגיה להעברת נתונים. DTD ו-XSD קשורים ל-XML. קובץ XML מכיל את המבנה והתוכן. DTD היא קבוצה של הצהרות סימון שמגדירות סוג מסמך עבור SGML - שפת סימון משפחתית. XSD מציין כיצד לתאר את האלמנטים במסמך שפת סימון מתרחבת באופן רשמי. ההבדל בין DTD ל-XSD הוא שניתן להשתמש ב-DTD להגדרת המבנה בעוד שניתן להשתמש ב-XSD להגדרת המבנה והתוכן.