SGML (англ. Standard Generalized Markup Language — стандартный обобщённый язык разметки) — метаязык, на котором можно определять язык разметки для документов.
Является наследником разработанного в 1969 году в IBM языка GML (Generalized Markup Language)[2]. Изначально был разработан для создания машиночитаемых документов в правительственных и аэрокосмических проектах; широко использовался в печатной и издательской сфере, но его сложность затруднила его широкое распространение для повседневного использования. Из-за его сложности появилась альтернативная расшифровка аббревиатуры SGML — «Sounds Great, Maybe Later» (Звучит здорово, возможно, пото́м)[3]. Стандартизован ISO в 1986 году[4]. Языки HTML и XML произошли от SGML: HTML до версии 4 включительно был приложением SGML, а XML — это подмножество SGML, разработанное для упрощения процесса машинного разбора документа. Другими приложениями SGML являются DocBook (документирование) и «Z Format» (типография и документирование).
Основные части SGML-документа:
- SGML-декларация — определяет, какие символы и ограничители могут появляться в приложении, т.е. определяет сами конструкции разметки (инструменты разметки) (это и есть лексика). Про то, как ими пользоваться (это и есть синтаксис) - следующий пункт;
- Document Type Definition — определяет синтаксис конструкций разметки, может включать дополнительные определения, такие, как символьные ссылки-мнемоники;
- спецификация семантики, относится к разметке — также даёт ограничения синтаксиса, которые не могут быть выражены внутри DTD;
- содержимое SGML-документа — по крайней мере, должен быть корневой элемент.
Язык SGML предоставляет множество вариантов синтаксической разметки для использования различными приложениями. Изменяя SGML-декларацию, можно даже отказаться от использования угловых скобок, хотя этот синтаксис считается рекомендуемым (англ. concrete reference syntax).
Пример синтаксиса SGML:
<quote type="example">
typically something like <italics>this</italics>
</quote>
Примечания
Ссылки
|
---|
|
1 по 9999 | |
---|
10000 по 19999 | |
---|
20000+ | |
---|
|