Тег (мова розмітки)
Тег, теги, іноді теґ (англ. tag — «іменована позначка, ярлик», читається /tæg/; більш правильна назва — дескриптор[1][2][3]) в SGML (HTML, WML, AmigaGuide, мовах сімейства XML) — елемент мови розмітки гіпертексту. Текст, який міститься між початковим і кінцевим тегом, відтворюється і розміщується відповідно до властивостей, вказаних у початковому тезі.
Наприклад, текст вікіпедії, вкладений між початковим тегом <small>
і кінцевим тегом </small>
(від англ. small — маленький. ), відтворюється меншим розміром, ніж основний текст: Це маленький текст, а текст між тегами <big>
і </big>
відтворюється більшим розміром: А це — великий.
Зазвичай використовують парні теги — той, що відкриває, або початковий, і той, що закриває, або кінцевий. Можливе також застосування одиночного тегу. Наприклад, тег відступу абзацу може оформити абзац між тегами <p>
і </p>
, а може в одиночній формі до наступного першого випадкового тегу <p>
.
Тег з пустим текстом: <HR></HR>
вставляє розрив тексту без збереження відступів, можна також використати спеціальну форму запису тегу — <HR/>
.
Набір і рекомендовані інтерпретації тегів визначені організацією W3C.
У SGML можна призначати інші символи для обрамлення тегу (наприклад, фігурні дужки), але у деяких підмножинах цієї мови (наприклад, HTML і XML) така можливість відсутня.
Крім того, існують різні системи мов-підмножин із меншими можливостями. Наприклад, на вебфорумах і дошках оголошень використовується мова розмітки BBCode, теги якого обмежуються символами квадратних дужок: [ ].
Наприклад, [url="http://uk.wikipedia.org"]Українська Вікіпедія[/url] — послання на мові BBCode, який вказує на сторінку української Вікіпедії.[4]
Весь текст, вкладений між початковим і кінцевим тегами, включаючи й самі ці теги, називається елементом. Сам текст між тегами — змістом елемента. Зміст елемента може містити будь-який текст, у тому числі й інші елементи.
У тегу можуть бути властивості, що називаються атрибутами, які дають додаткові можливості форматування тексту. Вони записуються у вигляді поєднання: ім'я атрибута-значення, причому текстові значення поміщаються у лапки.
Наприклад, можна виділити фрагмент тексту визначеним шрифтом, використовуючи тег <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 та інші) елементи повинні бути строго вкладеними один в одного, «перегин» елементів неприйнятний:[5]
- неправильно: <a><b> </a></b>
- правильно: <person><i> Ім'я Прізвище </i></person>
Поширена хибна думка, що SGML і HTML дозволяють «перегин» елементів, заснована на стандартах, які порушують стандарти[6] поведінки старих версій браузерів, які намагалися «виправляти» помилки розмітки за власними алгоритмами.
Однак SGML (і HTML) допускають застосування ряду скорочених синтаксичних конструкцій, у тому числі необов'язкові (опціональні) закриваючі і навіть відкриваючі теги (які автоматично додаються при розгляді документа на основі вказаної схеми документа і поточного контексту). У XML, навпаки, всі теги повинні бути відкриті і закриті певним чином, що значно полегшує алгоритм його розгляду і знижує вимоги до апаратного забезпечення для нього.
- ↑ Полонская Е. Л. Язык HTML. Самоучитель. — М. : Вильямс, 2003. — С. 20. — 4000 прим. — ISBN 5-8459-0466-8.
- ↑ Современная энциклопедия. — 2000.
- ↑ М. В. Спека. Создание Web-сайтов / А. В. Слепцов. — М. : Вильямс, 2007. — 288 с. — (Самоучитель.) — ISBN 978-5-8459-0967-1.
- ↑ Такі теги з атрибутами є: ref, div. «Словесних» і щобільше: reflist, references, code, nowiki та інші. Взагалі не варто плутати шаблони (в широкому сенсі) і теги. У Вікіпедії теги — лише поєднання символів, вони не мають словесно вираженого ім'я тега та атрибутів.
- ↑ The SGML FAQ book: understanding the … — Steven J. DeRose — Google Books. Архів оригіналу за 11 жовтня 2021. Процитовано 3 листопада 2019.
- ↑ XHTML 1.0: The Extensible HyperText Markup Language (Second Edition). Архів оригіналу за 20 березня 2021. Процитовано 3 листопада 2019.
- Вебдизайн. Термінологія і технології Інтернету. Что такое тег (тэг) [Архівовано 27 жовтня 2019 у Wayback Machine.]