Wat is de relatie tussen SGML, HTML, XML en XHTML?
sobes.tech AI
Antwoord van AI
SGML (Standaard Generalized Markup Language) is een meta-taal voor markering, standaard ISO 8879. Het definieert de syntax voor het beschrijven van andere markeertalen, maar is zelf geen markeertaal voor documenten. HTML en XML zijn toepassingen (definities) van SGML, maar met verschillende doelen en beperkingen.
HTML (HyperText Markup Language) is een op SGML gebaseerde markeertaal, bedoeld voor het maken van webpagina's. Het heeft een vaste set tags en regels voor het gebruik ervan, met flexibelere syntaxregels vergeleken met XML (bijvoorbeeld, het vereist niet dat alle tags verplicht worden gesloten).
XML (eXtensible Markup Language) is een andere meta-taal voor markering, afstammeling van SGML, maar veel eenvoudiger en strenger. Het belangrijkste verschil met SGML is dat XML zich richt op het overdragen van gestructureerde gegevens, niet op de presentatie van het document. In tegenstelling tot HTML heeft XML geen vaste set tags - deze worden door de gebruiker gedefinieerd. Het vereist strikte naleving van de syntax (altijd tags sluiten, correct insluiten, etc.).
XHTML (eXtensible HyperText Markup Language) is een herformulering van HTML 4 in de vorm van een XML-toepassing. Het is dus HTML, maar met een strengere syntax, vergelijkbaar met de regels van XML. Het probeerde de voordelen van HTML (voor webpagina's) en XML (strengheid, uitbreidbaarheid) te combineren, maar is tegenwoordig grotendeels vervangen door HTML5.
De relatie is als volgt:
- SGML is de ouder/basis voor HTML en XML.
- HTML en XML zijn toepassingen van SGML (met een syntax die door de SGML-regels wordt bepaald).
- XHTML is een versie van HTML die herschreven is volgens de syntactische regels van XML.
- HTML is gemaakt om documenten weer te geven in browsers, XML voor het overdragen en opslaan van gestructureerde gegevens.
- XHTML probeerde weergave (HTML) te combineren met strengheid (XML).
Kortom, de afhankelijkheidsketen is: SGML -> HTML, SGML -> XML. En ook: HTML + XML-syntax -> XHTML.
Voorbeeld van structuur:
<!-- HTML-voorbeeld -->
<!DOCTYPE html>
<html>
<head>
<title>Titel</title>
</head>
<body>
<h1>Groet</h1>
<p>Dit is een alinea.</p>
</body>
</html>
<!-- XML-voorbeeld -->
<boek>
<titel>Mijn boek</titel>
<auteur>Jan Jansen</auteur>
<genre>Sci-fi</genre>
</boek>
<!-- XHTML-voorbeeld -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl" lang="nl">
<head>
<title>Titel</title>
</head>
<body>
<h1>Groet</h1>
<p>Dit is een alinea.</p>
</body>
</html>
Let op de strengheid van het sluiten van tags in XML en XHTML vergeleken met HTML.