2009-05-05 13 views
6

A quanto ho capito, XML è un sottoinsieme di SGML concepito per semplificare e incoraggiare un utilizzo più diffuso.Esistono motivi per utilizzare SGML anziché XML?

Immagino che le funzionalità più utili siano state introdotte in XML, ma ci sono caratteristiche in SGML abbastanza potenti da motivare l'utilizzo al posto di XML (e accettando il sovraccarico in termini di complessità)?

risposta

8

Un vantaggio di SGML, se lo si modifica manualmente, è che è possibile abbreviare i tag in vari modi. Cosa si può fare esattamente dipende dalla dichiarazione SGML per la DTD che si sta utilizzando. Ad esempio, in DocBook, puoi scrivere cose come < letteral> pippo < />. In HTML, puoi omettere i tag finali, motivo per cui puoi scrivere < p> foo ... < p> bar senza chiudere i tag. Oppure puoi omettere del tutto i tag, ecco perché < body> è facoltativo in HTML.

Ma XML è stato inventato esattamente perché tutte queste varianti rendono l'analisi SGML piuttosto complicata. Al giorno d'oggi probabilmente troverete editor XML più efficienti degli editor SGML.

Per quanto riguarda l'elaborazione, entrambe le forme sono equivalenti, poiché è possibile convertire avanti e indietro, tranne che in alcuni casi angolari.

+0

Nrrgh, serve un pulsante +2 ...! (+1 per una spiegazione eccellente; +1 per fantastiche curiosità!) – pinkgothic

1

È impossibile rispondere a meno che non si disponga di un'applicazione specifica. È possibile ottenere una migliore indicizzazione e ricerca con SGML, ma non ho trovato un caso in cui è un'opzione migliore di XML. Sono sicuro che sono là fuori, non li ho ancora trovati.

Il fattore vincente è la maturità di rendering su più piattaforme di XML. La stessa compatibilità non esiste per SGML. Tuttavia, se puoi controllare l'ambiente, questo potrebbe non essere un fattore. XML sembra fornire il 90% delle funzionalità per molto meno complessità.

2

No. L'unico motivo per utilizzare SGML è se si lavora nel settore dell'editoria in cui SGML è già parte del processo di produzione. (Ci possono essere altre industrie ma questa è l'unica in cui ho esperienza).

Un altro modo di guardare a questo è, anche se ci sono alcune caratteristiche interessanti in SGML, non vale la pena pagare per gli strumenti a meno che non si possa dimostrare chiaramente un vantaggio finanziario utilizzando SGML (vedi "industria editoriale").

Problemi correlati