Какова связь между SGML, HTML, XML и XHTML?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech 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>Приветствие
<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.