SGML vs XML
SGML (Standard Generalized Markup Language) to standard kodowania dokumentów papierowych do formatu elektronicznego. Wraz z ewolucją Internetu stało się jasne, że HTML nie jest już w stanie zaspokoić potrzeby bardziej dynamicznej treści, ponieważ osiągnął już swoje ograniczenia. XML (Extensible Markup Language) to język wywodzący się z SGML i zawiera bardziej ograniczony zestaw funkcji, aby ułatwić programistom korzystanie z niego, ponieważ SGML jest zbyt kompleksowy i skomplikowany do zamierzonego użycia. Ponieważ XML jest po prostu podzbiorem SGML, parsery SGML są w stanie odczytywać i dekodować prawidłowe pliki XML. Odwrotna sytuacja niekoniecznie jest prawdą, ponieważ pliki SGML mogą mieć funkcje, których parser XML nie rozumie.
Będąc podzbiorem, w XML nie byłoby funkcji, która nie istniałaby w SGML. Oto krótka lista usuniętych elementów.
Następujące deklaracje SGML nie są już dozwolone w XML:
Następujące konstrukcje SGML nie są już dozwolone w języku XML:
Specyfikacje atrybutów bez nazwy
Bezpośrednio wprowadzone wartości atrybutów w specyfikacji atrybutów są niedozwolone i powinny być wprowadzone literałami
Następujące deklaracje encji SGML nie są już dozwolone w SGML
Nie możesz już określać atrybutów encji.
Wprowadzono również zmiany w sposobie, w jaki koderzy umieszczają komentarze w kodzie. Deklaracja komentarza nie może już zawierać więcej niż jednego komentarza. Pusta deklaracja komentarza również została niedozwolona. Separator parametrów nie może zawierać żadnych komentarzy. Obejmuje to wszelkie deklaracje znaczników, z wyjątkiem oczywiście deklaracji komentarzy.
Streszczenie:
1.XML jest podzbiorem SGML
2.XML jest prostszy w porównaniu do SGML
Dokumenty 3.XML powinny być czytelne za pomocą parserów SGML, podczas gdy niektóre SGML mogą powodować błędy w parserach XML
4. Lista deklaracji SGML została usunięta w XML
5. Niektóre konstrukcje, które są dozwolone w SGML, nie są już dozwolone w XML
6. Niektóre jednostki SGML nie są już dozwolone w XML
7. Niektóre praktyki komentowania w SGML również zostały niedozwolone w XML