Разлика между XML схема и DTD

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. Така че пренаписването им не би било лесна задача.