Diferența dintre XML și SGML

XML vs. SGML

XML reprezintă limbajul extensibil de marcare. Este definită în specificația XML 1.0, dezvoltată de W3C (World Wide Web Consortium). XML oferă o modalitate standard, care este și simplă, de a codifica date și text, astfel încât conținutul să poată fi schimbat între hardware-ul șoferului, sistemele de operare și aplicațiile cu puțină intervenție umană. SGML (Standard Generalized Markup Language) este un standard ISO (Organizația Internațională de Standardizare) pentru specificarea unui limbaj de marcare a documentelor sau a unui set de etichete. SGML nu este un limbaj al documentului, ci o definiție a tipului de document (DTD).

XML

XML este un limbaj de marcare care este utilizat pentru a transfera date și text între hardware-ul șoferului, sistemele de operare și aplicațiile cu puțină intervenție umană. XML oferă etichete, atribute și structuri de elemente care pot fi folosite pentru a furniza informații de context. Această informație context poate fi utilizată pentru a decoda semnificația conținutului. Acest lucru face posibilă dezvoltarea de motoare de căutare eficiente și realizarea de date miniere asupra datelor. Mai mult, bazele de date relaționale tradiționale sunt potrivite ca date XML, deoarece acestea ar putea fi organizate în rânduri și coloane, dar XML oferă mai puțin suport pentru date cu conținut bogat, cum ar fi audio, video, documente complexe etc. Bazele de date XML stochează datele într-o formă structurată, ierarhică care permite ca interogările să fie procesate mai eficient. Etichetele XML nu sunt predefinite și utilizatorii pot defini noi etichete și structuri de documente. De asemenea, au fost create noi limbi de internet, cum ar fi RSS, Atom, SOAP și XHTM, utilizând XML.

SGML

SGML se bazează pe ideea că, deși un document poate fi afișat cu apariții diferite în funcție de mediul de ieșire folosit, acesta conține elemente structurale și semantice care nu se modifică în funcție de modul în care este afișat. Documentele bazate pe SGML pot fi create fără a se referi la aspectul documentului care poate schimba orele suplimentare, ci în ceea ce privește structura documentului. Mai mult, compilatorul SGML poate interpreta orice document utilizând DTD-ul său, prin urmare aceste documente oferă o mai mare portabilitate. De asemenea, documentele bazate pe SGML ar putea fi ușor adaptate la medii diferite (de exemplu, documentul destinat mediului de imprimare ar putea fi readaptat pentru un ecran de afișare).

Care este diferența dintre XML și SGML?

În timp ce XML este un limbaj de marcare care este utilizat pentru a transfera date și text între hardware-ul, sistemele de operare și aplicații, SGML este un standard ISO pentru specificarea unui limbaj de marcare a documentelor sau a unui set de etichete. XML este de fapt un limbaj de markup care se bazează pe SGML. Dar XML impune anumite restricții care nu sunt în SGML. De exemplu, XML impune următoarele restricții: referințele entității trebuie să fie închise cu un delimiter REFC, referințele la entitățile de date externe din conținut nu sunt permise, referințele de caractere trebuie să fie închise cu un delimiter REFC, numerele de referință ale caracterelor nu sunt permise etc. În plus, unele constructe, cum ar fi etichetele de început neînchise, etichetele finale necompletate, etichetele goale de început, etichetele goale goale care sunt permise în SGML când SHORTTAG este YES, nu sunt permise în XML. În plus, unele declarații SGML, cum ar fi DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT și EXPLICIT), etc. nu sunt permise în XML.