Тег
Тег, теги (иногда тэг[1], англ. tag, читается /tæg/) в SGML (в HTML, WML, AmigaGuide, языках семейства XML) — элемент языка разметки гипертекста. Более правильное название — дескриптор.
В XML тег является элементом документа, а текст, содержащийся между начальным и конечным тегом — содержанием элемента.
Синтаксис тегов
Используют либо только два тега — открывающий, или начальный, и закрывающий, или конечный, или еще дополнительно в зависимости от реализации языка возможно применение одиночного тега и тега пустого элемента.
Набор и рекомендуемые интерпретации тегов определены организацией W3C.
В SGML можно назначать другие символы для обрамления тега (например, фигурные скобки), но в некоторых подмножествах этого языка (например, HTML) и XML такая возможность отсутствует.
Кроме того, существуют разные системы языков-подмножеств, которые используются, с меньшими возможностями, например на веб-форумах и досках объявлений используется язык разметки BBCode, теги которого ограничиваются символами квадратных скобок: [ ].
Атрибуты
У тега могут быть свойства, называемые атрибутами, дающие дополнительные возможности форматирования текста. Они записываются в виде пары имя-значение, причем нечисловое значение заключается в кавычки.
Тип элемента документа
Имя тега определяет тип элемента. В HTML имя тега определяет лишь правила разметки, так, имя тега «i» определяет, что между тегами расположен текст, который следует отображать в браузере в курсивном начертании. XML представляет собой более гибкий стандарт. Имена тегов в нем не регламентируются жестко: пользователи могут вводить и использовать для своих нужд новые теги.
Таким образом, HTML представляет собой неструктурированный текст, а XML — документ с иерархической структурой, что дает возможность обработки документа: трансформацию данных, поиск нужных элементов документа и т. д.
Структура элемента
В SGML и основанных на нем языках (HTML версий 2—4.01, языки семейства XML и т.д.) элементы должны быть строго вложенными друг в друга, «перехлест» элементов недопустим.
Распространенное заблуждение, что SGML и HTML разрешают «перехлест» элементов, основанно на нарушающем стандарты поведении старых версий браузеров, пытавшихся «исправлять» ошибки разметки по собственным алгоритмам.
Однако SGML (и HTML) допускают применение ряда сокращенных синтаксических конструкций, в том числе необязательные (опциональные) закрывающие и даже открывающие теги (автоматически достраиваемые при разборе документа на основе указанной схемы документа и текущего контекста). В XML, напротив, все теги должны быть открыты и закрыты явным образом, что значительно упрощает алгоритм его разбора и снижает требования к аппаратному обеспечению для него.

