Тег (мова розмітки)

Тег, теги, іноді теґ (англ. 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] поведінки старих версій браузерів, які намагалися «виправляти» помилки розмітки за власними алгоритмами.

Однак SGMLHTML) допускають застосування ряду скорочених синтаксичних конструкцій, у тому числі необов'язкові (опціональні) закриваючі і навіть відкриваючі теги (які автоматично додаються при розгляді документа на основі вказаної схеми документа і поточного контексту). У XML, навпаки, всі теги повинні бути відкриті і закриті певним чином, що значно полегшує алгоритм його розгляду і знижує вимоги до апаратного забезпечення для нього.

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. Полонская Е. Л. Язык HTML. Самоучитель. — М. : Вильямс, 2003. — С. 20. — 4000 прим. — ISBN 5-8459-0466-8.
  2. Современная энциклопедия. — 2000.
  3. М. В. Спека. Создание Web-сайтов / А. В. Слепцов. — М. : Вильямс, 2007. — 288 с. — (Самоучитель.) — ISBN 978-5-8459-0967-1.
  4. Такі теги з атрибутами є: ref, div. «Словесних» і щобільше: reflist, references, code, nowiki та інші. Взагалі не варто плутати шаблони (в широкому сенсі) і теги. У Вікіпедії теги — лише поєднання символів, вони не мають словесно вираженого ім'я тега та атрибутів.
  5. The SGML FAQ book: understanding the … — Steven J. DeRose — Google Books. Архів оригіналу за 11 жовтня 2021. Процитовано 3 листопада 2019.
  6. XHTML 1.0: The Extensible HyperText Markup Language (Second Edition). Архів оригіналу за 20 березня 2021. Процитовано 3 листопада 2019.

Посилання

[ред. | ред. код]