SGML versus XML
SGML (Standard Generalized Markup Language) is de standaard voor het coderen van papieren documenten in een elektronisch formaat. Met de evolutie van het internet werd duidelijk dat HTML niet langer in staat is om de behoefte aan meer dynamische inhoud te bieden omdat het zijn beperkingen heeft bereikt. XML (Extensible Markup Language) is een taal die is afgeleid van SGML en bevat een meer beperkte functieset om het voor codeerders eenvoudiger te maken om te gebruiken omdat SGML te uitgebreid en complex is voor het beoogde gebruik. Omdat XML eenvoudig een subset van SGML is, zijn SGML-parsers in staat om geldige XML-bestanden te lezen en decoderen. Het omgekeerde is echter niet noodzakelijk waar, aangezien SGML-bestanden mogelijk functies bevatten die de XML-parser niet begrijpt.
Als subset zou er geen functie in XML bestaan die niet bestaat in SGML. Hier is een korte lijst met dingen die zijn verwijderd.
De volgende SGML-verklaringen zijn niet langer toegestaan in XML:
De volgende SGML-constructies zijn niet langer toegestaan in XML:
Kenmerkspecificaties zonder naam
Direct ingevoerde attribuutwaarden in attribuutspecificatie zijn niet toegestaan en moeten in letterlijke waarden worden ingevoerd
De volgende SGML-entiteitsverklaringen zijn niet langer toegestaan in SGML
Het is niet langer toegestaan om attributen voor entiteiten te specificeren.
Er zijn ook wijzigingen aangebracht in de manier waarop codeerders opmerkingen in hun code plaatsen. Een commentaarverklaring mag niet meer dan één opmerking hebben. Een lege commentaarverklaring is ook niet toegestaan. Een parameterseparator is niet toegestaan en bevat geen enkele opmerking. Dit omvat uiteraard alle markup-declaraties, exclusief commentaarverklaringen.
Samenvatting:
1.XML is een subset van SGML
2.XML is eenvoudiger in vergelijking met SGML
3. XML-documenten moeten leesbaar zijn met SGML-parsers, terwijl sommige SGML fouten in XML-parsers kunnen produceren
4.Een lijst met SGML-verklaringen is verwijderd in XML
5. Sommige constructies die zijn toegestaan in SGML zijn niet meer toegestaan in XML
6. Sommige SGML-entiteiten zijn niet langer toegestaan in XML
7. Sommige commentaarpraktijken in SGML zijn ook niet toegestaan in XML