Differenza tra XML e SGML

XML vs SGML

XML sta per EXtensible Markup Language. È definito nella specifica XML 1.0, sviluppata dal W3C (World Wide Web Consortium). XML fornisce un modo standard, che è anche semplice, di codificare dati e testo in modo tale che il contenuto possa essere scambiato su hardware, sistemi operativi e applicazioni del driver con scarso intervento umano. SGML (Standard Generalized Markup Language) è uno standard ISO (International Organization for Standardization) per specificare un linguaggio di markup del documento o una serie di tag. SGML non è un linguaggio di documenti ma una definizione del tipo di documento (DTD).

XML

XML è un linguaggio di markup che viene utilizzato per trasferire dati e testo tra hardware del driver, sistemi operativi e applicazioni con scarso intervento umano. XML fornisce tag, attributi e strutture di elementi che possono essere utilizzati per fornire informazioni contestuali. Queste informazioni di contesto possono essere utilizzate per decodificare il significato del contenuto. Ciò rende possibile lo sviluppo di motori di ricerca efficienti e l'esecuzione di data mining sui dati. Inoltre, i database relazionali tradizionali sono adatti come dati XML perché possono essere organizzati in righe e colonne, ma XML fornisce meno supporto per i dati con contenuti multimediali quali audio, video, documenti complessi, ecc. I database XML memorizzano i dati in una forma gerarchica strutturata che consente alle query di essere elaborate in modo più efficiente. I tag XML non sono predefiniti e gli utenti possono definire nuovi tag e strutture di documenti. Inoltre, nuovi linguaggi internet come RSS, Atom, SOAP e XHTM sono stati creati usando XML.

SGML

SGML si basa sull'idea che anche se un documento può essere visualizzato con diverse apparenze a seconda del mezzo di output utilizzato, contiene alcuni elementi strutturali e semantici che non cambiano con riferimento a come viene visualizzato. I documenti basati su SGML possono essere creati senza preoccuparsi dell'aspetto del documento che può cambiare gli straordinari, ma riguardo alla struttura del documento. Inoltre, il compilatore SGML può interpretare qualsiasi documento usando la sua DTD, quindi questi documenti offrono maggiore portabilità. Inoltre, i documenti basati su SGML potrebbero essere facilmente riadattati su supporti diversi (ad esempio, il documento destinato al supporto di stampa potrebbe essere riadattato per uno schermo).

Qual è la differenza tra XML e SGML?

Mentre XML è un linguaggio di markup che viene utilizzato per trasferire dati e testo tra hardware del driver, sistemi operativi e applicazioni, SGML è uno standard ISO per specificare un linguaggio di markup del documento o un set di tag. XML è in realtà un linguaggio di markup basato su SGML. Ma XML impone alcune restrizioni che non sono in SGML. Ad esempio, XML impone seguenti restrizioni: i riferimenti di entità devono essere chiusi con un delimitatore REFC, i riferimenti a entità di dati esterne nel contenuto non sono consentiti, i riferimenti di carattere devono essere chiusi con un delimitatore REFC, i riferimenti di carattere denominati non sono consentiti, ecc. alcuni costrutti come i tag di apertura non chiusi, i tag di chiusura non chiusi, i tag di inizio vuoti, i tag di fine vuoti consentiti in SGML quando SHORTTAG è SÌ, non sono consentiti in XML. Inoltre, alcune dichiarazioni SGML come DATATAG, OMITTAG, RANK, LINK (SEMPLICE, IMPLICITO ed ESPLICITO), ecc. Non sono consentite in XML.