Sobes.tech
Middle

Aký je vzťah medzi SGML, HTML, XML a XHTML?

sobes.tech AI

Odpoveď od AI

SGML (Standard Generalized Markup Language) je meta-jazyk značkovania, štandard ISO 8879. Určuje syntax pre popisu iných značkovacích jazykov, nie sám jazyk značkovania pre dokumenty. HTML a XML sú aplikácie (definície) SGML, ale s rôznymi cieľmi a obmedzeniami.

HTML (HyperText Markup Language) je značkovací jazyk založený na SGML, určený na tvorbu webových stránok. Má pevne stanovený súbor tagov a pravidlá ich používania, flexibilnejšie pravidlá syntaxe v porovnaní s XML (napríklad, nevyžaduje povinné zatváranie všetkých tagov).

XML (eXtensible Markup Language) je iný meta-jazyk značkovania, potomok SGML, ale značne jednoduchší a prísnejší. Hlavný rozdiel od SGML je v tom, že XML sa zameriava na prenos štruktúrovaných dát, nie na prezentáciu dokumentu. Na rozdiel od HTML, XML nemá pevne stanovený súbor tagov - určuje ich používateľ. Vyžaduje prísne dodržiavanie syntaxe (vždy zatvárať tagy, správne vkladať a pod.).

XHTML (eXtensible HyperText Markup Language) je preformulovanie HTML 4 v podobe XML aplikácie. To znamená, že je to HTML, ale s prísnejšou syntaxou, podobne ako pravidlá XML. Bol to pokus spojiť výhody HTML (pre webové stránky) a XML (prísnosť, rozšíriteľnosť), ale v súčasnosti je do značnej miery vytlačený HTML5.

Takže, vzťah je nasledovný:

  • SGML je rodič/základ pre HTML a XML.
  • HTML a XML sú aplikácie SGML (majú syntax určenú podľa pravidiel SGML).
  • XHTML je verzia HTML, prepísaná s dodržiavaním pravidiel syntaxe XML.
  • HTML je určené na zobrazovanie dokumentov v prehliadači, XML - na prenos a ukladanie štruktúrovaných dát.
  • XHTML sa snažil spojiť zobrazovanie (HTML) so striktnosťou (XML).

Stručne, reťazec závislosti je: SGML -> HTML, SGML -> XML. A tiež: HTML + XML syntax -> XHTML.

Príklad štruktúry:

<!-- Príklad HTML -->
<!DOCTYPE html>
<html>
<head>
    <title>Nadpis</title>
</head>
<body>
    <h1>Pozdrav</h1>
    <p>Toto je odsek.</p>
</body>
</html>
<!-- Príklad XML -->
<kniha>
    <názov>Moja kniha</názov>
    <autor>Ivan Ivanov</autor>
    <žáner>Fantázia</žáner>
</kniha>
<!-- Príklad XHTML -->
<!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="en" lang="en">
<head>
    <title>Nadpis</title>
</head>
<body>
    <h1>Pozdrav</h1>
    <p>Toto je odsek.</p>
</body>
</html>

Všimnite si prísnosť zatvárania tagov v XML a XHTML v porovnaní s HTML.