Різниця між XML та SGML

XML проти SGML

XML означає розширювану мову розмітки. Він визначений у специфікації XML 1.0, яка розробляється W3C (World Wide Web Consortium). XML забезпечує стандартний спосіб, котрий також простий, для кодування даних і тексту таким чином, щоб вміст міг обмінюватися через апаратне забезпечення драйверів, операційні системи та додатки з невеликим втручанням людини. SGML (Стандартна узагальнена мова розмітки) - стандарт ISO (Міжнародна організація зі стандартизації) для визначення мови розмітки документа або набору тегів. SGML - це не мова документа, а визначення документа (DTD).

XML

XML - мова розмітки, яка використовується для передачі даних та тексту між апаратними засобами драйверів, операційними системами та програмами з невеликим втручанням людини. XML надає теги, атрибути та структури елементів, які можна використовувати для надання інформації про контекст. Ця інформація про контекст може бути використана для декодування значення змісту. Це дає змогу розробити ефективні пошукові системи та виконувати обмін даними. Крім того, традиційні реляційні бази даних підходять як дані XML, оскільки вони можуть бути організовані в рядки та стовпці, але XML забезпечує меншу підтримку даних із багатим вмістом, таких як аудіо, відео, складні документи тощо. Бази даних XML зберігають дані в структурованій, ієрархічній формі що дозволяє обробляти запити більш ефективно. Теги XML не визначені заздалегідь, і користувачі можуть визначати нові теги та структури документів. Також за допомогою XML були створені нові мови Інтернету, такі як RSS, Atom, SOAP та XHTM.

SGML

SGML ґрунтується на ідеї, що хоча документ може відображатися з різними зовнішніми ознаками залежно від використовуваного вихідного середовища, він містить деякі структурні та семантичні елементи, які не змінюються залежно від способу його відображення. Документи на основі SGML можна створювати, не заважаючи про зовнішній вигляд документа, який може змінюватися понаднормово, але стосується структури документа. Крім того, компілятор SGML може інтерпретувати будь-який документ за допомогою свого DTD, тому ці документи забезпечують більшу портативність. Крім того, документи, засновані на SGML, можуть бути легко адаптовані до різних носіїв інформації (наприклад, документ, призначений для друкованого носія, може бути перероблений для екрану).

Яка різниця між XML та SGML?

Хоча XML - мова розмітки, яка використовується для передачі даних і тексту між апаратними засобами драйверів, операційними системами та програмами, SGML є стандартом ISO для визначення мови розмітки документа або набору тегів. XML - це фактично мова розмітки, яка базується на SGML. Але XML накладає деякі обмеження, яких немає в SGML. Наприклад, XML встановлює такі обмеження: посилання суб'єктів повинні бути закриті роздільником REFC, посилання на зовнішні об'єкти даних у вмісті заборонені, посилання символів повинні бути закриті роздільником REFC, іменовані посилання символів не дозволяються тощо. Крім того, деякі конструкції, такі як незакриті стартові теги, незакриті кінцеві теги, порожні стартові теги, порожні кінцеві теги, дозволені в SGML, коли SHORTTAG - ТАК, не допускаються в XML. Крім того, деякі декларації SGML, такі як DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT і EXPLICIT) тощо, не допускаються в XML.