Тег (языки разметки)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Тег, те́ги (иногда тэг[1], англ. tag, читается /tæg/; более правильное название — дескриптор[2][3][4][5]) — в SGMLHTML, WML, AmigaGuide, языках семейства XML) — элемент языка разметки гипертекста. Например, текст Википедии, заключенный между начальным тегом <small>и конечным тегом </small> (от англ. small маленький) предписывает отображать его меньше основного текста. Например: Это маленький текст, А это — большой.(<big>—</big>).

В XML тег является элементом документа, а текст, содержащийся между начальным и конечным тегом — содержанием элемента.

Синтаксис тегов[править | править исходный текст]

Используют только два тега — открывающий, или начальный, и закрывающий, или конечный. В зависимости от реализации языка возможно также применение одиночного тега и тега пустого элемента. Например, тег отступа абзаца может оформлять абзац между <p> </p>, а может в одиночной форме до следующего первого попавшегося <p>

Пример пустого элемента: <HR></HR> - разрыв текста без сохранения отступов, но можно использовать специальную форму записи тега, используя меньшее число символов: <HR/>

Набор и рекомендуемые интерпретации тегов определены организацией W3C.

В SGML можно назначать другие символы для обрамления тега (например, фигурные скобки), но в некоторых подмножествах этого языка (например, HTML и XML) такая возможность отсутствует.

Кроме того, существуют разные системы языков-подмножеств с меньшими возможностями. Например, на веб-форумах и досках объявлений используется язык разметки BBCode, теги которого ограничиваются символами квадратных скобок: [ ].

Например, [url="http://ru.wikipedia.org"]Русская Википедия[/url] — ссылка на языке BBCode, указывающая на страницу русской Википедии. [6]

Атрибуты[править | править исходный текст]

У тега могут быть свойства, называемые атрибутами, дающие дополнительные возможности форматирования текста. Они записываются в виде пары имя-значение, причем нечисловое значение заключается в кавычки.
Например, можно выделить фрагмент текста определенным шрифтом (тег <font>), указав в этом теге название шрифта и желаемый размер: <font face="Times, Arial, Courier" size=4> оформляемый текст </font>

Тип элемента документа[править | править исходный текст]

Имя тега определяет тип элемента. В HTML имя тега определяет лишь правила разметки, так, имя тега «i» (например <i>Курсивный текст</i>) определяет, что между тегами расположен текст, который следует отображать в браузере в курсивном начертании. XML представляет собой более гибкий стандарт. Имена тегов в нем не регламентируются жёстко: пользователи могут вводить и использовать для своих нужд новые теги (см. XML).
Например, мы сами для себя можем определить, что элементом с именем тега «person» мы определяем тип этого XML элемента, как фамилия имя и отчество. И скажем, год рождения, как часть информации по данному человеку:

  • XML: <person>Иванов Иван Иванович <year>1984</year></person> Можно даже задать дополнительно в таблицах CSS, что все теги <person> будут определённого цвета.
  • HTML: <div name="person"> Иванов Иван Иванович, 1984 </div> Тут уже нет возможности сформировать элемент документа для анализа текста, но оформить можно.

Таким образом, HTML представляет собой неструктурированный текст, а XML — документ с иерархической структурой, что даёт возможность обработки документа: трансформацию данных, поиск нужных элементов документа и т. д.

Структура элемента[править | править исходный текст]

В SGML и основанных на нем языках (HTML версий 2—4.01, языки семейства XML и т.д.) элементы должны быть строго вложенными друг в друга, «перехлёст» элементов недопустим[7]:

  • неправильно: <a><b></a></b>
  • правильно : <person><i>Имя Фамилия</i></person>

Распространенное заблуждение, что SGML и HTML разрешают «перехлёст» элементов, основано на нарушающем стандарты[8] поведении старых версий браузеров, пытавшихся «исправлять» ошибки разметки по собственным алгоритмам.

Однако SGML (и HTML) допускают применение ряда сокращенных синтаксических конструкций, в том числе необязательные (опциональные) закрывающие и даже открывающие теги (автоматически достраиваемые при разборе документа на основе указанной схемы документа и текущего контекста). В XML, напротив, все теги должны быть открыты и закрыты явным образом, что значительно упрощает алгоритм его разбора и снижает требования к аппаратному обеспечению для него.

См. также[править | править исходный текст]

Ссылки[править | править исходный текст]

Примечания[править | править исходный текст]

  1. Написание через е (а не э) регламентировано орфографическим словарем, см. [1].
  2. А. Ю. ЛЕКСИН, Д. В. МИТРОФАНОВ. ОСНОВЫ ВЕБ-ПРОГРАММИРОВАНИЯ = Министерство образования и науки Российской Федерации. Федеральное агентство по образованию / зав. кафедрой профессор С.М. Аракелян. — Кафедра физики и прикладной математики. — Владимирский государственный университет: Ред.-издат. комплекс ВлГУ, 2005. — 28 с. — (Методические указания к лабораторным работам по дисциплине «Программирование для Интернет и веб-дизайн»). — 100 экз.
  3. Полонская Е. Л. рус. // Язык HTML. Самоучитель / Диалектика. — М.: Вильямс, 2003. — С. 20. — 320 с. — 4000 экз. — ISBN 5-8459-0466-8
  4. Современная энциклопедия. — 2000.
  5. М. В. Спека. Создание Web-сайтов / А. В. Слепцов. — рус. — М.: Вильямс, 2007. — 288 с. — (Самоучитель.). — ISBN 978-5-8459-0967-1
  6. такие теги c атрибутами есть: ref, div. «Словесных» и того больше: reflist, references, code, nowiki и т. д. И вообще не стоит путать шаблоны (в широком смысле)и теги. В Википедии теги — только сочетания символов, они не имеют словесно выраженного имени тега и атрибутов.
  7. The SGML FAQ book: understanding the ... - Steven J. DeRose - Google Books
  8. XHTML 1.0: The Extensible HyperText Markup Language (Second Edition)