Разлика между XML и SGML

XML срещу SGML

XML означава Extensible Markup Language. Тя е дефинирана в спецификацията XML 1.0, която е разработена от W3C (World Wide Web Consortium). XML предоставя стандартен начин, който също е прост, да кодира данни и текст, така че съдържанието да може да се обменя в хардуер, операционни системи и приложения с малко човешка намеса. SGML (Standard Generalized Markup Language) е стандарт ISO (Международна организация за стандартизация) за определяне на език за маркиране на документ или набор от тагове. SGML не е език на документа, а дефиниция на типа документ (DTD).

XML

XML е език за маркиране, който се използва за прехвърляне на данни и текст между хардуер на драйвери, операционни системи и приложения с малко човешка намеса. XML предоставя тагове, атрибути и структурни елементи, които могат да се използват за предоставяне на контекстна информация. Тази контекстна информация може да се използва за декодиране на смисъла на съдържанието. Това дава възможност за разработване на ефективни търсачки и извършване на извличане на данни. Освен това традиционните релационни бази данни са подходящи като XML данни, тъй като те биха могли да бъдат организирани в редове и колони, но XML предоставя по-малко поддръжка на данни с богато съдържание като аудио, видео, сложни документи и др. XML бази данни съхраняват данни в структурирана, йерархична форма което позволява обработването на заявките по-ефективно. XML таговете не са предварително дефинирани и потребителите могат да определят нови тагове и структури на документи. Също така, нови интернет езици като RSS, Atom, SOAP и XHTM бяха създадени с помощта на XML.

SGML

SGML се основава на идеята, че въпреки че документът може да се показва с различен вид в зависимост от използваната изходна среда, той съдържа някои структурни и семантични елементи, които не се променят с оглед на начина, по който се показва. Документи, базирани на SGML, могат да бъдат създадени без загриженост за външния вид на документа, който може да се промени извънреден труд, но за структурата на документа. Освен това SGML компилаторът може да интерпретира всеки документ, използвайки своя DTD, следователно тези документи осигуряват по-голяма преносимост. Освен това документите, базирани на SGML, могат лесно да бъдат пренастроени на различни носители (например документ, предназначен за носител за печат, може да бъде пренастроен за екран на дисплея).

Каква е разликата между XML и SGML?

Докато XML е език за маркиране, който се използва за прехвърляне на данни и текст между хардуер на драйвери, операционни системи и приложения, SGML е ISO стандарт за определяне на език за маркиране на документ или набор от тагове. XML всъщност е език за маркиране, който се основава на SGML. Но XML налага някои ограничения, които не са в SGML. Например, XML налага следните ограничения: препратките на субектите трябва да бъдат затворени с разделител REFC, препратките към външни субекти на данни в съдържанието не са позволени, препратките на символи трябва да бъдат затворени с разделител REFC, имена на препратки към символи не са позволени и т.н. Освен това, някои конструкции като незатворени начални маркери, незатворени крайни маркери, празни начални маркери, празни крайни маркери, които са разрешени в SGML, когато SHORTTAG е ДА, не са разрешени в XML. Освен това някои XML декларации като DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT и EXPLICIT) и др. Не са разрешени в XML.