SGML срещу XML
SGML (Standard Generalized Markup Language) е стандартът за кодиране на хартиени документи в електронен формат. С развитието на интернет стана ясно, че HTML вече не е в състояние да осигури необходимостта от по-динамично съдържание, тъй като е достигнало своите ограничения. XML (Extensible Markup Language) е език, извлечен от SGML и съдържа по-ограничен набор от функции, за да се улесни използването на кодери, тъй като SGML е твърде изчерпателен и сложен за предвидената употреба. Тъй като XML е просто подмножество от SGML, SGML парсерите могат да четат и декодират валидни XML файлове. Обратното не е непременно вярно, тъй като SGML файловете може да имат функции, които XML анализаторът не разбира.
Като подмножество няма да има функция в XML, която да не съществува в SGML. Ето кратък списък на това, което е премахнато.
Следните декларации SGML вече не са позволени в XML:
Следните SGML конструкции вече не са позволени в XML:
Спецификации на атрибутите без име
Директно въведените стойности на атрибутите в спецификацията на атрибута не са позволени и трябва да се въвеждат в литерали
Следните декларации за юридически лица на SGML вече не се допускат в SGML
Вече не сте позволени да задавате атрибути на субектите.
Промени са направени и по начина, по който кодерите пускат коментари в кода си. В декларацията за коментар вече не е позволено да има повече от един коментар. Празна декларация за коментари също е забранена. Разделителят на параметри е забранен да съдържа коментари. Това включва всяка декларация за маркиране, с изключение на декларациите за коментари, разбира се.
Резюме:
1.XML е подмножество от SGML
2.XML е по-опростен в сравнение с SGML
3.XML документите трябва да бъдат четими с SGML парсери, докато някои SGML могат да създадат грешки в XML парсери
4. Списък XML декларации са премахнати в XML
5. Някои конструкции, които са разрешени в SGML, вече не са разрешени в XML
6. Някои SGML образувания вече не са позволени в XML
7. Някои практики за коментари в SGML също са забранени в XML