Языки разметки документов общие сведения. Язык разметки документов HTML
Логическая и визуальная разметки
Различают логическую и визуальную разметки. В первом случае речь идет только о том, какую роль играет данный участок документа в его общей структуре (например, «данная строка является заголовком»). Во втором определяется, как именно будет отображаться этот элемент (например, «данную строку следует отображать жирным шрифтом»). Идея языков разметки состоит в том, что визуальное отображение документа должно автоматически получаться из логической разметки и не зависеть от его непосредственного содержания. Это упрощает автоматическую обработку документа и его отображение в различных условиях (например, один и тот же файл может по-разному отображаться на экране компьютера, мобильного телефона и на печати, поскольку свойства этих устройств вывода существенно различаются). Однако это правило часто нарушается: например, создавая документ в редакторе наподобие MS Word , пользователь может выделять заголовки жирным шрифтом, но нигде не указывать, что эта строка является заголовком.
Примеры языков разметки
Языки разметки используются везде, где требуется вывод форматированного текста: в типографии (SGML , TeX , PostScript , PDF), пользовательских интерфейсах компьютеров (Microsoft Word , OpenOffice , troff), Всемирной Сети (HTML , XHTML , XML , WML , VML , PGML , SVG , XBRL).
Облегчённые языки разметки
Языки, предназначенные для простого и быстрого написания текста в простом текстовом редакторе, называются облегчёнными (en:Lightweight markup language). Особенности таких языков:
- Минимум функций.
- Небольшой набор поддерживаемых тегов .
- Легки в освоении.
- Исходный текст на таком языке читается с такой же лёгкостью, как и готовый документ.
Применяются они там, где человеку приходится подготавливать текст в обычном текстовом редакторе (блоги , форумы , вики), либо там, где важно, чтобы пользователь с обычным текстовым редактором также мог прочитать текст. Вот несколько широко распространённых облегчённых языков разметки:
- Вики-разметка (см. Википедия:Как править статьи)
- Различные системы автодокументирования (например, Javadoc).
История
Термин «разметка» (как результат одноименного процесса, англ. markup ) произошёл от английского словосочетания «marking up » («разметка (как процесс)», букв. «помечивание, размечивание»), взятого из традиционной издательской практики проставления специальных условных пометок на полях и в тексте рукописи или корректуры перед передачей её в печать. Таким образом «разметчики» (markup men) указывали гарнитуру, стиль и размер шрифта для каждой части текста. В наше время разметкой текста занимаются редакторы, корректоры, графические дизайнеры - и, конечно же, сами авторы.
GenCode
Идея использовать языки разметки в компьютерной обработке текстов, вероятнее всего, была впервые обнародована Вильямом Танниклиффом (англ. William W. Tunnicliffe ) на конференции в 1967 году . Сам он именовал своё предложение «универсальным кодированием» (англ. «generic coding» ). В 1970-е годы Танниклифф руководил разработкой стандарта GenCode для издательской индустрии и позже занял пост руководителя одного из комитетов Международной организации по стандартизации (ISO, англ. International Organization for Standartization ), создавшего SGML , первый описательный язык разметки. Брайан Рэйд (англ. Brian Reid ) в своей диссертации, которую он защитил в 1980 году в университете Карнеги (англ. Carnegie Mellon University ), в развитие предложенной концепции осуществил практическую реализацию описательной разметки.
Тем не менее, в настоящее время «отцом» языков разметки обычно называют исследователя IBM Чарльза Голдфарба (англ. Charles Goldfarb ). Основная концепция родилась у него в 1969 году , при работе над примитивной системой управления документами, предназначенной для адвокатских контор. В том же году он принял участие в создании языка IBM GML , который был впервые представлен в 1973 году .
Некоторые ранние реализации компьютерных языков разметки можно обнаружить в типографских утилитах UNIX , таких как troff и nroff. Они позволяют вставлять команды форматирования в текст документа для его форматирования согласно требованиям редактора.
Доступность издательского софта с функцией WYSIWYG (англ. «what you see is what you get» - «что увидишь, то и получишь») вытеснила большинство этих языков среди обычных пользователей, хотя серьёзная издательская работа по-прежнему использует разметку для специфических не визуальных структур текста, а WYSIWYG-редакторы сейчас чаще всего сохраняют документы в форматах, основанных на языках разметки.
ΤΕ Χ
Другой важный издательский стандарт - это ΤΕ Χ , созданный и впоследствии улучшенный Дональдом Кнутом в 70е-80е года двадцатого столетия. ΤΕ Χ собрал воедино высокие возможности форматирования текста и описания шрифтов, в особенности для математических книг профессионального качества. В настоящее время ΤΕ Χ является стандартом де-факто во многих научных дисциплинах. Помимо Тех существует LaTeX , который представляет собой широко используемую описательную систему разметки на основе ΤΕ Χ .
Scribe, GML и SGML
В начале 80х идея, что разметка должна быть сфокусирована на структурных аспектах документа и должна оставить внешнее представление документа интерпретатору, привела к созданию SGML. Язык был разработан комитетом, возглавляемым Голдфарбом. Он объединил идеи со многих источников, включая Тьюнникоффликский проект, GenCode. Шэрон Адлер (Sharon Adler), Андерс Бергланд (Anders Berglund) и Джеймс А. Марк (James A.Marke) так же были ключевыми членами комитета SGML.
SGML точно определял синтаксис для включения разметки в текст, а также отдельно описывал, какие теги разрешены и где (DTD - Document Type Definition). Это давало возможность авторам создавать и использовать любую разметку, какую они захотят, выбирая теги для использования и давая им имена на нормальном языке. Таким образом, SGML следует считать метаязыком ; множественные специальные языки разметок произошли от него. Поздние 80е были наиболее значимыми в появлении новых языков разметок, основанных на SGML, например TEI и DocBook .
В 1986 году SGML был опубликован как международный стандарт организацией ISO под номером 8879. SGML нашел широкое признание и широко использовался в очень больших проектах. Как бы то ни было, в целом было обнаружено, что он громоздок и труден для изучения, побочным эффектом языка было в том, что он пытался сделать слишком много и быть чересчур гибким. Для примера, SGML создавал не всегда нужные закрывающие теги (или открывающие, или даже оба), потому что считал, что эта разметка будет добавлена вручную, штатом поддержки проекта, которые бы оценили экономию нажатий клавиш.
HTML
К 1991 году использование SGML было ограничено бизнес-программами и базами данных, а WYSIWYG-инструменты (которые сохраняли документы в проприетарных бинарных форматах) использовались для остальных программ обработки документов. Ситуация изменилась, когда сэр Тим Бернерс-Ли , узнав о SGML от своего коллеги Андерса Бергланда (англ. Anders Berglund ) и других сотрудников в ЦЕРНе , использовал синтаксис SGML для создания HTML . Этот язык имел сходство с другими основанными на синтаксисе SGML языками разметки, однако начать его использование было гораздо проще даже тем разработчикам, которые никогда этого не делали. Стивен ДеРоуз (Steven DeRose) убеждал, что HTML, использующий описательную разметку (и от языка SGML в частности) - это основной фактор в развитии Web, потому что в нем была заложена гибкость и расширяемость (а также другие факторы, включая понятие о URL и свободное использование браузерами). В наше время HTML - наиболее привлекательный и самый часто используемый язык разметки в мире.
Однако статус HTML как языка разметки оспаривается некоторыми компьютерными учеными. Их основным аргументом является то, что HTML ограничивает размещение тегов, требуя, чтобы оба тега были вложены в другие теги или в главные теги документа. Вследствие чего, эти ученые считают HTML контейнерным языком, следующим иерархической модели.
XML
XML (расширяемый язык разметки) - это мета-язык разметки, широко используемый в настоящее время. XML разработан консорциумом World Wide Web в комитете, возглавляемом Джоном Босаком (Jon Bosak). Основное предназначение XML - быть более простым, чем SGML и сфокусироваться на специфичной проблеме - документах в интернете. XML - мета-язык как SGML, пользователям разрешается создавать любые теги, какие необходимы (отсюда «расширяемый»). Становлению XML помогли, так как каждый XML-документ мог быть написан таким же способом, как и SGML-документ, а программы и пользователи, использующие SGML, могли перейти на XML достаточно легко.
Тем не менее, XML лишился многих ориентированных на людей особенностей языка SGML, упрощавших его использование (пока не расширилось количество разметки и не восстановилась читаемость и редактируемость на прежнем уровне). Другие улучшения исправляли некоторые проблемы SGML на международном уровне и делали возможным разбор документа иерархически, даже если не был доступен DTD.
XML был спроектирован, в основном, для не полностью структурированной среды, например для документов и публикаций. Тем не менее, это привело к золотой середине между гибкостью и простотой, и он был быстро принят многими пользователями. В настоящее время XML широко используется для передачи данных между программами. Как HTML, он может быть охарактеризован как «контейнерный» язык.
XHTML
Начиная с января 2000 года, все рекомендации для W3C были основаны на XML в большей степени, чем на SGML, была предложена аббревиатура XHTML (Extensible HyperText Markup Languge - Расширяемый Гипертекстовый Язык Разметки). Спецификации языка требовали, чтобы XHTML-документы были оформлены как XML-документы, это позволяет использовать XHTML для более четких и точных документов, используя теги от HTML.
Одно из самых достойных внимания различий между HTML и XHTML - это правило, гласящее, что все теги должны быть закрытыми: пустые теги, например <br />, должны быть оба закрыты стандартным закрывающим тегом или специальной записью: <br /> (пробел перед «/» в закрывающем теге опционален, но часто используется, поскольку его используют некоторые пре-XML браузеры, также SGML-парсеры). Другие атрибуты в тегах должны быть в кавычках. Наконец, все теги и имена атрибутов должны быть написаны в нижнем регистре, чтобы восприниматься правильно; HTML невосприимчив к регистру.
Другие разработки, основанные на XML
Сейчас используются многие разработки, основанные на XML, например RDF (Resource Descriprtion Framework - Фреймворк Описания Ресурсов), XFORMS, DocBook, SOAP и OWL (Ontology Web Language).
Особенности
Общая особенность всех языков разметки в том, что они перемешивают текст документа с инструкциями разметки в потоке данных или файле. Это не необходимость, возможно изолировать разметку от текста, используя указатели, метки, идентификаторы или другие методы координации. Такая «отделенная разметка» характерна для внутреннего представления программ, работающих с размеченными документами. Тем не менее, внедренная или «междустрочная» разметка более принята где бы то ни было. Вот, для примера, небольшая часть текста, размеченного при помощи HTML:
Anatidae
The family Anatidae includes ducks, geese, and swans, but not the closely-related screamers.
Код разметочных инструкций (известный как теги) обведен угловыми скобками <как здесь>. Текст, находящийся между этими инструкциями, является текстом документа. Коды h1 , p и em - примеры структурной разметки, они описывают позицию, назначение или значение текста, включенного в них.
Более точно, h1 означает «это заголовок первого уровня», p значит «это параграф», а em означает «это подчеркнутое слово или фраза». Интерпретирующая программа может применять эти правила или стили для показа различных частей текста, используя различные гарнитуры, размеры шрифта, отступы, цвет или другие стили, если это необходимо. Такой тег, как h1, может быть, например, представлен большим жирным типографским шрифтом, или в документе с моноширинным текстом (как на печатной машинке) может быть подчеркнутым, или может вообще не менять внешний вид.
Для контраста, тег i в HTML - пример визуальной разметки; обычно он используется для определения специфичных особенностей текста (в этом блоке использовать наклонную гарнитуру) без объяснения причин.
TEI (Tex Encoding Initiative) опубликовала всесторонние руководящие документы, указывающие кодировать текст в интересах человечества и научных обществ. Эти руководства использовались для кодирования исторических документов, специфичных работах ученых, периодике и так далее.
Альтернативное использование
Пока развивалась идея использовать языки разметки с текстовыми документами, это увеличило использование языков разметки в других областях, предложили использовать их для представления различных типов информации, включая плейлисты, векторную графику, веб-сервисы, интерфейсы пользователя. Большинство этих приложений основано на XML, т. к. это хорошо структурированный и расширяемый язык.
Справочник технического переводчика
язык разметки - 23.06.33 язык разметки : Язык, состоящий из встроенных команд, обеспечивающий поддержку при разметке текста в процессе его обработки.
Термин «разметка» происходит от традиционной практики разметки рукописей перед публикацией (то есть добавления символических команд на полях и между строк в бумажной рукописи).
В течение многих столетий это делали работники издательства (редакторы и корректоры) которые отмечали, каким шрифтом, стилем и кеглем должны быть набраны фрагменты текста, а затем передавали рукопись наборщикам, которые вручную осуществляли набор текста с учетом символов разметки.
Язык разметки - это набор специальных инструкций, называемых тегами (tags), выполняющих следующие функции:
задание функций обработки выделенных элементов;
выделение логических элементов данного документа.
Задание функций обработки выделенных элементов
В текстовых процессорах существуют встроенные команды включения/выключения шрифтов и другое, аналогичные командам управления размещением информации на экране или при печати. Такой подход называется командной илипроцедурной разметкой .
Примеры процедурной разметки
Выделение логических элементов документа
Служит для формирования в документах какой-либо структуры и определения отношений между различными элементами этой структуры без указания способа обработки. Такая разметка называется описательной.
Изменяя набор процедур, соответствующий описательной разметке, можно изменить внешнее представление одного и того же документа.
Описательная разметка
Основным достоинством описательной разметки является ее гибкость, поскольку фрагменты текста отмечены как «чем они являются» (а не «как они должны быть отображены»).
В будущем может быть написано программное обеспечение для такой обработки этих фрагментов, которая даже не предусматривалась разработчиками языков. Например, гиперссылки HTML, первоначально предназначенные для навигации пользователями по совокупности связей в сети, в дальнейшем стали использоваться также механизмами поиска и индексирования в сети, для оценки популярности ресурсов и так далее.
Примеры языков разметки
Языки разметки используются везде, где требуется вывод форматированного текста:
в типографии (SGML,TeX,PostScript,PDF),
пользовательских интерфейсах компьютеров (MicrosoftWord,OpenOffice,troff),
Всемирной Сети (HTML,XHTML,XML,WML,VML,PGML,SVG,XBRL).
Теговая структура языка разметки
Развитие идей описательной разметки привело к определению разметки как формального языка.
Теги языка (управляющие дескрипторы) определенным образом кодируются (выделяются относительно основного содержимого документа) и служат в качестве инструкций для программы, производящей показ содержимого документа на стороне клиента.
Во многих современных языках для обозначения этих команд (теги языка) использовались символы < и >, внутри которых помещались названия инструкций и их параметры (HTML и XML). В SGML можно назначать другие символы для обрамления тега (например, фигурные скобки). Кроме того, существуют разные системы языков-подмножеств, которые используются, с меньшими возможностями, например на веб-форумах и досках объявлений используется язык разметки BBCode, теги которого ограничиваются символами квадратных скобок: .
Теговая модель описывает документ как совокупность контейнеров, каждый из которых начинается и заканчивается тегами. В большинстве случаев теги используются парами. Пара состоит из открывающего (start tag) и закрывающего (end tag) тегов.
Синтаксис открывающего тега: <имя_тега [атрибуты]>
Имя закрывающего тега отличается от имени открывающего лишь тем, что перед ним ставится наклонная черта: имя_тега>
Атрибуты определяют дополнительные характеристики элемента. Атрибуты тега записываются в следующем формате: имя[="значение"]. Для некоторых атрибутов значение может не указываться. У закрывающего тега атрибутов не бывает.
…Действие любого парного тега начинается с открывающего тега и заканчивается при встрече соответствующего закрывающего тега.
Пару, состоящую из открывающего и закрывающего тегов, называют контейнером, а часть текста между ними, - элементом.
Заголовок 1 уровня
Заголовок 2 уровня
В зависимости от используемого языка разметки дополнительно возможно применение одиночного тега и тега пустого элемента. Имя тега определяет тип элемента.
Синтаксис одиночного тега: <имя_тега [атрибуты] />
В некоторых
языках разметки имена тегов заранее
определены (HTML). В других не регламентируются
жестко, т.е. пользователи могут вводить
и использовать новые теги (XML). Например,
тег «persona» можем определить тип этого
XML элемента, как фамилия имя и отчество.
В SGML элементы могут пересекаться, то есть в SGML возможна такая последовательность тегов:
В XML элементы имеют строгую синтаксическую структуру, то есть быть строго вложенными друг в друга и всегда закрываться:
Кроме того, в SGML, HTML они не обязаны быть закрытыми:
Практически во всех языках разметки документов значение атрибута интерпретируется как текстовое. Значение атрибута принято брать в кавычки.
Примечание:
Документ, написанный с использованием языка разметки, содержит не только сам текст (как последовательность слов и знаков препинания), но и дополнительную информацию о различных его участках - например, указание на заголовки, выделения, списки и т. д.
Т.е. документ представляет собой не что иное, как обычный АSСII-файл, с добавленными в него управляющими кодами (тегами).
Языки разметки
Язык разметки (текста) в компьютерной терминологии -- набор символов или последовательностей, вставляемых в текст для передачи информации о его выводе или строении. Принадлежит классу компьютерных языков. Текстовый документ, написанный с использованием языка разметки, содержит не только сам текст (как последовательность слов и знаков препинания), но и дополнительную информацию о различных его участках -- например, указание на заголовки, выделения, списки и т. д. В более сложных случаях язык разметки позволяет вставлять в документ интерактивные элементы и содержание других документов.
Следует отметить, что язык разметки неполон по Тьюрингу и обычно не считается языком программирования, хотя, строго говоря, он им является.
HTML (от англ. HyperText Markup Language -- «язык разметки гипертекста») - разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1986--1991 годах в стенах Европейского Центра ядерных исследований в Женеве (Швейцария). HTML создавался как язык для обмена научной и технической документацией, пригодный для использования людьми, не являющимися специалистами в области вёрстки. HTML успешно справлялся с проблемой сложности SGML путём определения небольшого набора структурных и семантических элементов -- дескрипторов. Дескрипторы также часто называют «тегами». С помощью HTML можно легко создать относительно простой, но красиво оформленный документ. Помимо упрощения структуры документа, в HTML внесена поддержка гипертекста. Мультимедийные возможности были добавлены позже.
Изначально язык HTML был задуман и создан как средство структурирования и форматирования документов без их привязки к средствам воспроизведения (отображения). В идеале, текст с разметкой HTML должен был без стилистических и структурных искажений воспроизводиться на оборудовании с различной технической оснащённостью (цветной экран современного компьютера, монохромный экран органайзера, ограниченный по размерам экран мобильного телефона или устройства и программы голосового воспроизведения текстов). Однако современное применение HTML очень далеко от его изначальной задачи. Например, тег
говорит браузеру, что это Html-документ | |
здесь находится информация для поисковых машин | |
содержимое отображается в окне браузера | |
название страницы | |
Заголовки: от самого большого до самого маленького | |
Жирное и наклонное выделение текста | |
текст ссылки | Говорит браузеру, что это ссылка с текстом «текст ссылки « |
|
Создание нового параграфа |
|
выравнивание параграфа (left, right, justify или center ) |
Говорит браузеру, что нужно создать форму |
Эта таблица приведена с целью показать только основные дескрипторы.
В современной версии HTML5 вместе с новыми тегами появилось огромное количество новых возможностей, которые и не снилось разработчикам сайтов ещё 10 лет назад.
Стили в html-документе
Когда браузер отображает содержимое веб-страницы, он отображает заголовки одним стилем, текст абзацев – другим, размеры шрифтов для них применяются также разные. В каждом браузере это задействовано по умолчанию. Но мы хотим видеть индивидуальные оформления веб-страниц, и на помощь тут приходит язык CSS, язык каскадных таблиц стилей . С помощью CSS можно задать оформление любого элемента, можно создать любой дизайн веб-документа.
CSS является стилевым дополнением к языку html и без него не существует.
Стили в Html внедряются так:
Head>
Если же применяется внешний файл стилей styles.css, то он подключается к документу html так:
Пример записи CSS-правил:
p {color: black; font: x-small}.
Говорит браузеру, что цвет абзаца
чёрный-black , а шрифт имеет размер x-small (мелкий)
Вот как, например, я задаю стиль содержания в начале каждой статьи этого блога.
Anons
{border: 2px outset green;
border-radius: 10px;
width: 360;
font-family: «Yeseva+One»;
font-size: 16px;
line-height: 1.2em;padding:10px 10px 10px 20px;
margin:10px auto 20px;
text-align:left;
background-color: #a7cece;
}
в последней строке есть интересный фрагмент: background-color: #a7cece ;
#a7cece – это html-цвет. С помощью набора символов HEX – шестнадцатиричной системы: цифр от 0 до 9 и букв от A до F можно задать абсолютно любой цвет. Здесь задан симпатичный аквамариновый.
К теме CSS я ещё вернусь в отдельных публикациях.
Как можно выучить язык разметки HTML
- В Сети полно справочников по HTML (хтмл). Мне нравится сайт http://htmlbook.ru. Я сюда часто обращаюсь за справочным материалом. Рекомендую для экономии времени.
- Андрея Бернацкого. Ознакомься обязательно!
- Мне нравится книга от американских авторов. Это увлекательнейший учебник-самоучитель языка HTML/CSS с такой классной подачей материала, что будешь читать, не отрываясь. Всё рассказано просто и понятно. Её можно скачать бесплатно в сети, но лучше купить и поработать с ней как с книгой.
Самый лучший способ освоить язык разметки HTML (хтмл) – это скачать самые известные учебные курсы в рунете, к тому же некоторые из них – совершенно бесплатные. Заходи на сайт Попова Евгения и скачивай тонны полезнейшей учебной информации. Для профессиональной подготовки прочти информацию .