XML схема срещу DTD
XML означава Extensible Markup Language. Дефиниран е в спецификацията XML 1.0, която е разработена от W3C (World Wide Web Consortium). XML предоставя стандартен начин, който също е прост, за кодиране на данни и текст, така че съдържанието да може да се обменя между драйверен хардуер, операционни системи и приложения с малка човешка намеса. XML схемата описва структурата на XML документ. XML схемата налага ограничения върху структурата и съдържанието на XML документ в допълнение към синтактичните правила, които трябва да се следват в XML. XML схемата е препоръка, предоставена от World Wide Web Consortium (W3C) и стана препоръка през май 2001 г. DTD (Определение на типа документ) също така определя как елементите на документа са подредени и вложени, какви елементи са включени в документа и атрибутите на включените елементи. DTD дефинира структурата на документите в маркиращи езици от семейството на SGML.
Какво е XML схема?
XML схемата описва структурата на XML документ. Той дефинира елементите, които могат да се появяват в XML документ и техните атрибути, като например дали даден елемент е празен или дали може да съдържа текст. Той също така определя какви елементи ще бъдат дъщерни елементи и реда на дъщерните елементи. Освен това XML схемата дефинира типовете данни, използвани в елементите и техните атрибути. XML схемите се използват широко в уеб приложенията, тъй като са разширими и осигуряват поддръжка за типове данни и пространства от имена. Най-голямата сила на XML схемата е осигуряването на поддръжка за типове данни. Предоставя лесни методи за дефиниране на позволеното съдържание в документ и методи за гарантиране на коректността на данните. Освен това XML схемата има разпоредби за работа с данни в бази данни и позволява преобразуване между типове данни.
Какво е DTD?
DTD дефинира структурата на документите в маркиращи езици от семейството на SGML като SGML, XML и HTML. Той определя как елементите на документите са подредени и вложени, какви елементи са включени в документите и атрибутите на включените елементи. В XML документ DTD се декларира в декларация DOCTYPE, която е под XML декларацията. Тялото на DTD съдържа дефинициите за елементите в документа и техните атрибути и може да бъде дефинирано като вградена дефиниция или външна дефиниция. Наличието на външен DTD е много полезно, когато използвате XML протокол за комуникация между отделни системи, тъй като намалява излишните разходи за повторно изпращане на DTD всеки път, както при вградената дефиниция. Външният DTD може да бъде поставен на място като уеб сървър, до който могат да имат достъп и двете системи.
Каква е разликата между XML схема и DTD?
DTD е предшественикът на XML схемата. Докато DTD предоставя основната структура/граматика за дефиниране на XML документ, в допълнение към тази XML схема предоставя методи за дефиниране на ограничения върху данните, съдържащи се в документа. Следователно XML схемата се счита за по-богата и мощна от DTD. Освен това XML схемата предоставя обектно-ориентиран подход за дефиниране на структурата на XML документ. Но тъй като XML схемата е нова технология, някои XML анализатори все още не я поддържат. Освен това повечето богати и сложни дефиниции на наследени системи се дефинират с DTD. Така че пренаписването им няма да е лесна задача.