تفاوت کلیدی – DTD در مقابل XSD
DTD و XSD مربوط به XML هستند که در بین چندین عملکرد آن برای انتقال داده استفاده می شود. اکثر برنامه ها به انتقال داده نیاز دارند. هنگامی که ماشین کلاینت نیاز به دریافت داده از سرور دارد، باید یک روش موثر برای واکشی داده وجود داشته باشد. برای دستیابی به این کار می توان از XML استفاده کرد. مخفف Extensible Markup Language است. مزیت اصلی استفاده از XML انتقال داده است. به غیر از آن، میتوان از آن برای پیکربندی چارچوبها و برای طراحی طرحبندی برنامههای اندرویدی نیز استفاده کرد. تگ های استفاده شده در XML از پیش تعریف نشده اند. برنامه نویس می تواند برچسب ها را با توجه به برنامه بنویسد.یک سند XML شامل ساختار و محتوا است. در XML، DTD مخفف Document Type Definition و XSD مخفف XML Schema Definition است. DTD مجموعه ای از اعلان های نشانه گذاری است که یک نوع سند را برای یک زبان نشانه گذاری خانواده SGML تعریف می کند. XSD نحوه توصیف عناصر در یک سند زبان نشانه گذاری توسعه پذیر را به طور رسمی مشخص می کند. تفاوت اصلی بین DTD و XSD این است که از DTD می توان برای تعریف ساختار استفاده کرد در حالی که از XSD می توان برای تعریف ساختار و محتوا استفاده کرد. این مقاله به تفاوت بین DTD و XSD می پردازد.
DTD چیست؟
DTD مخفف Document Type Definition است. برای توصیف دقیق زبان XML استفاده می شود. هدف اصلی DTD تعریف ساختار یک فایل XML است. این شامل فهرستی از عناصر قانونی است. همچنین برای انجام اعتبارسنجی استفاده می شود. دو نوع DTD وجود دارد. داخلی یا خارجی هستند. اگر عناصر DTD در فایل XML اعلان شوند، به آن DTD داخلی می گویند. اگر عناصر DTD در فایل دیگری اعلان شده باشند، به آن DTD خارجی می گویند.
شکل 01: DTD داخلی
طبق موارد فوق المان ها در داخل فایل XML اعلان می شوند. بنابراین، آن یک DTD داخلی است. <! DOCTYPE Student تعریف می کند که عنصر ریشه سند Student است. تعریف می کند که عنصر Student از سه عنصر ID، نام و ایمیل تشکیل شده است. هر شناسه، نام و ایمیل به طور جداگانه تعریف شده است. همه آنها انواع داده قابل تجزیه هستند. DTD از خط شماره 2 تا 7 وجود دارد. بقیه XML است.
شکل 02: افزودن فایل DTD خارجی
وقتی فایل DTD به عنوان student.dtd ذخیره می شود، باید به فایل XML اضافه شود. به شرح زیر انجام می شود؛
XSD چیست؟
XSD مخفف XML Schema Definition است. برای تعریف ساختار و محتوای فایل های XML استفاده می شود. این روشی برای بیان محدودیت فایل XML است. XSD شبیه به DTD است، اما کنترل بیشتری بر ساختار XML ارائه می دهد. دو نوع فایل XSD وجود دارد. آنها نوع ساده و نوع پیچیده هستند. simpleType اجازه می دهد تا عناصر مبتنی بر متن را داشته باشید. این شامل ویژگی های کمتر، عناصر فرزند است و نمی توان آن را خالی گذاشت. ComplexType اجازه می دهد تا چندین ویژگی و عنصر را نگه دارید. این شامل عناصر فرعی اضافی است و می توان آن را خالی گذاشت.
شکل 03: فایل new1.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 مخفف Document Type Definition است. | XSD مخفف XML Schema Definition است. |
کنترل ساختار XML | |
DTD کنترل کمتری بر ساختار XML فراهم می کند. | XSD کنترل بیشتری بر ساختار XML فراهم می کند. |
پشتیبانی از انواع داده | |
DTD از انواع داده پشتیبانی نمی کند. | XSD از انواع داده پشتیبانی می کند. |
سادگی | |
DTD سخت تر از XSD است. | XSD ساده از DTD است. |
خلاصه - DTD در مقابل XSD
XML یک فناوری برای انتقال داده است. DTD و XSD مربوط به XML هستند. یک فایل XML شامل ساختار و محتوا است. DTD مجموعه ای از اعلان های نشانه گذاری است که یک نوع سند را برای یک زبان نشانه گذاری خانواده SGML تعریف می کند. XSD نحوه توصیف رسمی عناصر در یک سند زبان نشانه گذاری توسعه پذیر را مشخص می کند. تفاوت بین DTD و XSD این است که از DTD می توان برای تعریف ساختار استفاده کرد در حالی که از XSD می توان برای تعریف ساختار و محتوا استفاده کرد.