Różnica między XML a SGML

XML vs SGML

XML oznacza EXtensible Markup Language. Jest zdefiniowany w specyfikacji XML 1.0 opracowanej przez W3C (konsorcjum World Wide Web). XML zapewnia standardowy, także prosty sposób, kodowanie danych i tekstu, dzięki czemu treść może być wymieniana między sprzętem sterownika, systemami operacyjnymi i aplikacjami przy niewielkiej interwencji człowieka. SGML (Standard Generalized Markup Language) to standard ISO (Międzynarodowa Organizacja Normalizacyjna) do określania języka znaczników dokumentów lub zestawu znaczników. SGML nie jest językiem dokumentu, ale definicją typu dokumentu (DTD).

XML

XML to język znaczników używany do przesyłania danych i tekstu między sprzętem sterownika, systemami operacyjnymi i aplikacjami przy niewielkiej interwencji człowieka. XML zapewnia tagi, atrybuty i struktury elementów, których można używać do dostarczania informacji kontekstowych. Tych informacji kontekstowych można użyć do odkodowania znaczenia treści. Umożliwia to opracowanie wydajnych wyszukiwarek i eksplorację danych. Ponadto tradycyjne relacyjne bazy danych są odpowiednie jako dane XML, ponieważ można je uporządkować w wierszach i kolumnach, ale XML zapewnia mniejszą obsługę danych z bogatą zawartością, taką jak audio, wideo, złożone dokumenty itp. Bazy danych XML przechowują dane w ustrukturyzowanej, hierarchicznej formie co pozwala na bardziej wydajne przetwarzanie zapytań. Znaczniki XML nie są predefiniowane, a użytkownicy mogą definiować nowe znaczniki i struktury dokumentów. Ponadto nowe języki internetowe, takie jak RSS, Atom, SOAP i XHTM, zostały utworzone przy użyciu XML.

SGML

SGML opiera się na założeniu, że chociaż dokument może być wyświetlany z różnym wyglądem w zależności od użytego nośnika wyjściowego, zawiera on pewne elementy strukturalne i semantyczne, które nie zmieniają się w odniesieniu do sposobu jego wyświetlania. Dokumenty oparte na SGML można tworzyć bez obawy o wygląd dokumentu, który może się zmieniać z czasem, ale o strukturę dokumentu. Ponadto kompilator SGML może interpretować dowolny dokument za pomocą swojego DTD, dlatego te dokumenty zapewniają większą przenośność. Ponadto dokumenty oparte na SGML można łatwo dostosować do różnych nośników (na przykład dokument przeznaczony do nośnika druku można ponownie dopasować do ekranu wyświetlacza).

Jaka jest różnica między XML a SGML?

Podczas gdy XML to język znaczników używany do przesyłania danych i tekstu między sprzętem sterownika, systemami operacyjnymi i aplikacjami, SGML jest standardem ISO do określania języka znaczników dokumentów lub zestawu znaczników. XML jest w rzeczywistości językiem znaczników opartym na SGML. Ale XML nakłada pewne ograniczenia, których nie ma w SGML. Na przykład XML nakłada następujące ograniczenia: odwołania do encji muszą być zamknięte za pomocą separatora REFC, odwołania do zewnętrznych encji danych w treści są niedozwolone, odwołania do znaków muszą być zamykane za pomocą separatora REFC, niedozwolone są odniesienia do nazwanych znaków itp. Ponadto, niektóre konstrukcje, takie jak niezamknięte znaczniki początkowe, niezamknięte znaczniki końcowe, puste znaczniki początkowe, puste znaczniki końcowe, które są dozwolone w SGML, gdy SHORTTAG ma wartość TAK, nie są dozwolone w XML. Ponadto niektóre deklaracje SGML, takie jak DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT i EXPLICIT) itp. Są niedozwolone w XML.