Каква е връзката между SGML, HTML, XML и XHTML?
sobes.tech AI
Отговор от AI
SGML (Standard Generalized Markup Language) е метаезик за маркиране, стандарт ISO 8879. Определя синтаксис за описание на други езици за маркиране, а не самия език за маркиране за документи. HTML и XML са приложения (определения) на SGML, но с различни цели и ограничения.
HTML (HyperText Markup Language) е език за маркиране, базиран на SGML, предназначен за създаване на уеб страници. Има фиксиран набор от тагове и правила за тяхното използване, по-гъвкави правила за синтаксис в сравнение с XML (например, не изисква задължително затваряне на всички тагове).
XML (eXtensible Markup Language) е друг метаезик за маркиране, наследник на SGML, но значително по-прост и строг. Основната разлика от SGML е, че XML се фокусира върху предаването на структурирани данни, а не върху представянето на документа. За разлика от HTML, XML няма фиксиран набор от тагове - определя ги потребителят. Изисква строго спазване на синтаксиса (винаги затваря таговете, правилно вложени и т.н.).
XHTML (eXtensible HyperText Markup Language) е преформулировка на HTML 4 като XML приложение. Тоест, това е HTML, но с по-строг синтаксис, подобен на правилата на XML. Беше опит да се обединят предимствата на HTML (за уеб страници) и XML (строгост, разширяемост), но към настоящия момент е в голяма степен изместен от HTML5.
Следователно, връзката е следната:
- SGML е родител/основа за HTML и XML.
- HTML и XML са приложения на SGML (имат синтаксис, определен по правилата на SGML).
- XHTML е версия на HTML, пренаписана с спазване на синтактичните правила на XML.
- HTML е създаден за отображение на документи в браузър, XML - за предаване и съхранение на структурирани данни.
- XHTML се опитва да обедини отображението (HTML) с строгостта (XML).
Кратко, веригата на зависимост е: SGML -> HTML, SGML -> XML. А също: HTML + XML синтаксис -> XHTML.
Примерна структура:
<!-- Пример HTML -->
<!DOCTYPE html>
<html>
<head>
<title>Заглавие</title>
</head>
<body>
<h1>Поздрав</h1>
<p>Това е параграф.</p>
</body>
</html>
<!-- Пример XML -->
<книга>
<заглавие>Моята книга</заглавие>
<автор>Иван Иванов</автор>
<жанр>Фантастика</жанр>
</книга>
<!-- Пример 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>Заглавие</title>
</head>
<body>
<h1>Поздрав</h1>
<p>Това е параграф.</p>
</body>
</html>
Обърнете внимание на строгостта при затваряне на таговете в XML и XHTML в сравнение с HTML.