Следует отметить, что язык разметки неполон по Тьюрингу и обычно не считается языком программирования, хотя, строго говоря, он им является.
HTML (от англ. HyperText Markup Language
-- «язык разметки гипертекста») - разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1986--1991 годах в стенах Европейского Центра ядерных исследований в Женеве (Швейцария). HTML создавался как язык для обмена научной и технической документацией, пригодный для использования людьми, не являющимися специалистами в области вёрстки. HTML успешно справлялся с проблемой сложности SGML путём определения небольшого набора структурных и семантических элементов -- дескрипторов. Дескрипторы также часто называют «тегами». С помощью HTML можно легко создать относительно простой, но красиво оформленный документ. Помимо упрощения структуры документа, в HTML внесена поддержка гипертекста. Мультимедийные возможности были добавлены позже.
Изначально язык HTML был задуман и создан как средство структурирования и форматирования документов без их привязки к средствам воспроизведения (отображения). В идеале, текст с разметкой HTML должен был без стилистических и структурных искажений воспроизводиться на оборудовании с различной технической оснащённостью (цветной экран современного компьютера, монохромный экран органайзера, ограниченный по размерам экран мобильного телефона или устройства и программы голосового воспроизведения текстов). Однако современное применение HTML очень далеко от его изначальной задачи. Например, тег
, несколько раз использованный для форматирования страницы, предназначен для создания в документах самых обычных таблиц. С течением времени основная идея платформ независимости языка HTML была принесена в жертву современным потребностям в мультимедийном и графическом оформлении.
XML
(англ. e
X
tensible
M
arkup
L
anguage
-- расширяемый язык разметки; произносится [экс-эм-эмл
]) -- рекомендованный Консорциумом Всемирной паутины (W3C) язык разметки. Спецификация XML описывает XML-документы и частично описывает поведение XML-процессоров (программ, читающих XML-документы и обеспечивающих доступ к их содержимому). XML разрабатывался как язык с простым формальным синтаксисом, удобный для создания и обработки документов программами и одновременно удобный для чтения и создания документов человеком, с подчёркиванием нацеленности на использование в Интернете. Язык называется расширяемым, поскольку он не фиксирует разметку, используемую в документах: разработчик волен создать разметку в соответствии с потребностями к конкретной области, будучи ограниченным лишь синтаксическими правилами языка. Сочетание простого формального синтаксиса, удобства для человека, расширяемости, а также базирование на кодировках Юникод для представления содержания документов привело к широкому использованию как собственно XML, так и множества производных специализированных языков на базе XML в самых разнообразных программных средствах.
XHTML
(англ. E
x
tensible
H
yper
t
ext
M
arkup
L
anguage
-- расширяемый язык разметки гипертекста) -- семейство языков разметки веб-страниц на основе XML, повторяющих и расширяющих возможности HTML 4. Спецификации XHTML 1.0 и XHTML 1.1 являются рекомендациями консорциума Всемирной паутины, однако на данный момент его развитие остановлено с рекомендацией использовать HTML. Новые версии XHTML не выпускаются.
Главное отличие XHTML от HTML заключается в обработке документа. Документы XHTML обрабатываются своим модулем (парсером) аналогично документам XML. В процессе этой обработки ошибки, допущенные разработчиками, не исправляются.
XHTML соответствует спецификации SGML, поскольку XML является её подмножеством. HTML обладает множеством особенностей в процессе обработки и фактически перестал относиться к семейству SGML, что и закреплено в черновике спецификации HTML 5.
Браузер выбирает парсер для обработки документа на основании заголовка content-type, полученного от сервера:
· HTML - text/html
· XHTML - application/xhtml+xml
· Для локального просмотра на клиенте выбор основывается на расширении файла.
· В Internet Explorer вплоть до 8-й версии парсер обработки XHTML-документов отсутствует.
WML
(англ. Wireless Markup Language
-- «язык беспроводной разметки») -- язык разметки документов для использования в сотовых телефонах и других мобильных устройствах по стандарту WAP.
По структуре напоминает несколько упрощённый HTML, но есть и ключевые отличия, поскольку WML ориентирован на устройства, не обладающие возможностями персональных компьютеров (небольшой экран, не все устройства могут отображать графику, небольшой размер памяти и т. д.): вся информация в WML содержится в так называемых «деках» (англ. deck
). Дек -- это минимальный блок данных, который может быть передан сервером. В деках находятся «карточки» (card
) (каждая карта ограничена тегами и ). В одном деке всегда должна быть хоть одна карточка, но может быть и несколько. При этом на экране устройства в каждый момент времени отображается только одна карточка, а пользователь может переключаться между ними, переходя по ссылкам -- это сделано для сокращения числа обращений за информацией к серверу; в то же время размер WML-страниц не должен превышать 1--4 килобайт.
VML
(англ. Vector Markup Language
-- язык векторной разметки) разработан фирмой Microsoft для описания векторной графики. VML был представлен W3C в 1998 году компаниями Microsoft, Macromedia и др. Примерно в то же время Adobe, Sun и несколько других компаний подали на рассмотрение документы о языке PGML. Оба эти языка позднее стали основой для SVG.
PGML
(Precision Graphics Markup Language
, в вольном переводе на русский -- «язык разметки прецизионной графики») -- основанный на XML язык разметки, служащий для описания векторной графики на веб-странице (диаграмм, отдельных элементов интерфейса) в виде текста в формате XML, использует модель построения изображения, схожую с PDF и PostScript. Был представлен W3C консорциуму компаниями Adobe Systems, IBM, Netscape Communications и Sun Microsystems в 1998 году, однако не был принят, как рекомендованный. Почти одновременно компания Microsoft подала к рассмотрению свой проект VML, через год был разработан более совершенный язык SVG, основанный на идее двух технологий. SVG получил рекомендацию W3C и стал основным форматом для описания векторной графики на веб-странице.
SVG
(от англ. S
calable
V
ector
G
raphics
-- масштабируемая векторная графика) -- язык разметки масштабируемой векторной графики, созданный Консорциумом Всемирной паутины (W3C) и входящий в подмножество расширяемого языка разметки XML, предназначен для описания двумерной векторной и смешанной векторной/растровой графики в формате XML. Поддерживает как неподвижную, так и анимированную интерактивную графику -- или, в иных терминах, декларативную и скриптовую. Не поддерживает описание трёхмерных объектов. Это открытый стандарт, который является рекомендацией консорциума W3C -- организации, разработавшей такие стандарты, как HTML и XHTML. В основу SVG легли языки разметки VML и PGML. Разрабатывается с 1999 года.
XBRL
(англ. e
X
tensible
B
usiness
R
eporting
L
anguage
, букв. «Расширяемый язык деловой отчетности») -- открытый стандарт для представления финансовой отчетности в электронном виде. Формат XBRL основан на расширяемом языке разметки XML. XBRL используется синтаксис XML, а также относящиеся к XML технологии, такие как пространство имен XML, XML Schema, XLink и XPath. Одно из назначений XBRL состоит в представлении и обмене финансовой информацией, такой как финансовая отчетность компаний. Спецификация языка XBRL разрабатывается и публикуется независимой международной организацией XBRL International, Inc.
Для улучшения визуального восприятия веба стала широко применяться технология CSS, которая позволяет задавать единые стили оформления для множества веб-страниц. Ещё одно нововведение, на которое стоит обратить внимание, -- система обозначения ресурсов URN (англ. Uniform Resource Name
).
Популярная концепция развития Всемирной паутины -- создание семантической паутины. Семантическая паутина -- это надстройка над существующей Всемирной паутиной, которая призвана сделать размещённую в сети информацию более понятной для компьютеров. Семантическая паутина -- это концепция сети, в которой каждый ресурс на человеческом языке был бы снабжён описанием, понятным компьютеру. Семантическая паутина открывает доступ к чётко структурированной информации для любых приложений, независимо от платформы и независимо от языков программирования. Программы смогут сами находить нужные ресурсы, обрабатывать информацию, классифицировать данные, выявлять логические связи, делать выводы и даже принимать решения на основе этих выводов. При широком распространении и грамотном внедрении семантическая паутина может вызвать революцию в Интернете. Для создания понятного компьютеру описания ресурса, в семантической паутине используется формат RDF (англ. Resource Description Framework
), который основан на синтаксисе XML и использует идентификаторы URI для обозначения ресурсов. Новинки в этой области -- это RDFS (англ. RDF Schema
) и SPARQL (англ. Protocol And RDF Query Language
) новый язык запросов для быстрого доступа к данным RDF.
markup
languages) - это набор специальных инструкций, называемых тэгами, предназначенных для формирования в документах какой-либо структуры и определения отношений между различными элементами этой структуры. Другими словами разметка показывает, какая часть документа является заголовком, какая подзаголовком, что следует считать именем автора и т. д. Разметка разделяется на стилистическую разметку, структурную и семантическую. Стилистическая разметка
Стилистическая разметка отвечает за внешний вид документа. Например, в HTML к данному типу разметки относятся такие теги как
(курсив),
(жирный),
(подчеркивание),
(перечеркнутый текст) и т.д.
Структурная разметка
Структурная разметка задает структуру документа. В HTML за данный тип разметки отвечают, например, теги (параграф),
(заглавие),
(секция) и т.д. Семантическая разметка
Семантическая разметка информирует о содержании данных. Примерами данного типа разметки являются теги
(имя документа),
(код, используется для листингов кода),
(переменная),
(адрес автора).Основными понятиями любого языка разметки являются теги, элементы и атрибуты.
Тэги и элементы.
Значения понятий тэги и элементы часто путают.
Тэги, или, как их еще называют, управляющие дескрипторы, служат в качестве инструкций для программы, производящей показ содержимого документа на стороне клиента как поступить с содержимым тега. Для того чтобы выделить тег относительно основного содержимого документа используются угловые скобки: тег начинается со знака "меньше" (<) и завершается знаком "больше" (>), внутри которых помещаются название инструкций и их параметры. Например, в языке HTML тег
указывает на то, что следующий за ним текст должен быть выведен курсивом.
Элемент - это тэги в совокупности с их содержанием. Следующая конструкция является примером элемента:
Это текст выделен курсивом
.
Элемент состоит из открывающего тега (в нашем примере это тег
), содержимого тега (в примере это текст "Это текст, выделен курсивом") и закрывающего тега(
), правда иногда в HTML, закрывающий тег можно опустить.
Атрибуты
Для того чтобы при определении элемента задать какие-либо параметры, уточняющие характеристики данного элемента используются атрибуты.
Атрибуты состоят из пары "название" = "значение", которую можно задавать при определении элемента в начальном тэге. Слева и справа от символа равенства можно оставлять пробелы. Значение атрибута указывается в виде строки, заключенной в одинарные или двойные кавычки.
Любой тэг может иметь атрибут, если этот атрибут определен.
В случае использования атрибута элемент принимает следующую форму:
<имя_тега атрибут = "значение">
содержимое тега имя_тега>
Текст выравнивается по центру
В одном открывающемся теге может содержаться несколько атрибутов, например:
Указан размер и цвет текста
История развития языков разметки.
Понятие гипертекста было введено В.Бушем в 1945 году а, начиная с 60-х годов, стали появляться первые приложения, использующие гипертекстовые данные. Однако основное развитие данная технология получила, когда возникла реальная необходимость в механизме объединения множества информационных ресурсов, обеспечения возможности создания, просмотра нелинейного текста.
В 1986 году ISO был утвержден универсальный стандартизированный язык разметки (Standardized Generalized Markup Language). Этот язык предназначен для создания других языков разметки, он определяет допустимый набор тэгов, их атрибуты и внутреннюю структуру документа. Таким образом имеется возможность создавать свои собственные тэги, связанные с содержанием документа. Теперь становится очевидно, что такие документы трудно интерпретировать без определения языка разметки, которое хранится в определении типа документа (DTD
- Document Type Definition
). В DTD
сгруппированы все правила языка в стандарте SGML
. Другими словами в DTD описывается связь тегов между собой и правила их применения. Причем для каждого класса документов определяется свой набор правил, описывающих грамматику соответствующего языка разметки. Таким образом, только при помощи DTD
можно проверить правильность использования тегов а, следовательно, его нужно посылать вместе с SGML-документом или включать в документ.
В то время кроме SGML
существовали еще несколько конкурирующих между собой подобных языков, однако популярность (HTML, который является одним из его потомков) дала SGML
неоспоримое преимущество перед своими собратьями.
С помощью SGML
можно описывать структурированные данные, организовывать информацию, содержащуюся в документах, представлять эту информацию в некотором стандартизованном формате. Но из-за своей сложности, SGML
использовался, в основном, для описания синтаксиса других языков, и немногие приложения работали с SGML
-документами напрямую. SGML
обычно применяется лишь в крупных проектах, например, для создания единой системы документооборота крупной фирмы.
Язык разметки HTML гораздо более простой и удобный, чем SGML
, его инструкции в первую очередь предназначены для управления процессом вывода содержимого документа на экране. Язык HTML как способ разметки технических документов был создан Тимом Бернерсом-Ли ( Tim
Berners-Lee) в 1991 году специально для научного сообщества. Первоначально он был всего лишь одним из SGML
-приложений.
Не смотря на то, что единственное, что умеет HTML - классифицировать части документа и обеспечивать его правильное отображение в браузере, он является самым популярным языком разметки. Это связано с тем, что HTML достаточно легок для изучения. Все, что от вас требуется, - изучить команды HTML. DTD для HTML хранится в браузере. К тому же надо заметить, что HTML спроектирован для работы на самых разных платформах. Но у него есть ряд существенных ограничений:
- HTML имеет фиксированный набор тэгов, и данный набор нельзя расширить или изменить;
- теги языка HTML показывают только как должны быть представлены данные, то есть внешний вид документа. HTML не несет информации о значении содержания, заключенного в тэгах, структуре документа.
Любой документ имеет три составляющих:
- содержание;
- структуру;
- стиль.
Обычно содержание документа представляется не в произвольном порядке, а имеет определенную
структуру
. Структура это состав и порядок следования частей (блоков) документа.
Стиль
документа определяет форму вывода его содержания на то или иное устройство (например, принтер или дисплей). В понятие стиль входят характеристики шрифта (наименование, размер, цвет) всего выводимого документа или отдельных его блоков, порядок разбивки на страницы, расположение блоков на страницах и другие параметры.
Языки разметки документов
являются искусственными языками, предназначенными для описания структуры документа и отношений между различными объектами структуры. Данные разметки называются также
метаданными
.
Первым языком разметки является
язык GML
.Его непосредственным наследником стал
язык
SGML
стандартный обобщенный язык разметки, определяющий правила записи элементов разметки документа.
требования к языку разметки документов:
- Язык должен быть доступен для чтения человеком.
- Размеченные файлы документов должны быть текстовыми и кодироваться с помощью символов кода
ASCII
- В языке могут использоваться ссылки как на внутренние ресурсы (в том же документе), так и на внешние ресурсы (в других документах).
В языке
SGML
и подобных ему языках используются специальные инструменты разметки документа:
- структуры документа;
- дескрипторы или элементы и сопутствующие им атрибуты;
- сущности (entities
);
- комментарии.
Документы
SGML
имеют древовидную структуру.
Дескрипторы
в
SGML
размещаются в начале (открывающий дескриптор) и в конце (закрывающий дескриптор) каждого
элемента
(item
).
Атрибуты
это простые символьные конструкции (items
), которые добавляются к элементам для придания им уточнения действия дескрипторов.
Языки обобщенной разметки, подобные
SGML
, допускают использование атрибутов, с которыми могут быть соотнесены до 15 различных типов значений, в том числе:
- Ссылки на любые ресурсы, находящиеся вне документа, на которые обычно ссылаются как на сущности (entities
).
- Уникальный идентификатор (ID
) элемента в документе.
- Указатели идентификаторов (ID
Pointers
), имеющие перекрестные ссылки для тех элементов, которые имеют
ID
, упомянутые в документе.
- Обозначения или атрибуты элементов, которые определяют обозначения в содержании элемента.
- Символьные данные (character
data
), или
CDATA
, представляющие собой любые допустимые символы, которые не могут выступать в качестве значений атрибутов.
Комментарии
позволяют добавить информацию, которая не будет видна после обработки документа. Комментарии не влияют на скорость обработки документа, не рассматриваются и не обрабатываются как часть содержания
SGML
-документа. Они просто включаются в исходный текст.
Для проверки соответствия документа разметке заданного типа используется специальные программы
анализаторы
(parsers). Анализаторы являются либо отдельными программами, либо частью программы обработки документа SGML. Чтобы анализатор мог выполнить проверку документа, создается специальный документ, называемый
определением типа документа
Язык
HTML
является приложением языка
SGML
для использования в
Internet
с фиксированной структурой, фиксированным набором элементов (дескрипторов) и их атрибутов, а также фиксированным набором сущностей. расширенный язык разметки
XML
(Extensible
Markup
Language
). Язык
XML
является подмножеством языка
SGML
, полностью совместимым с ним.
Язык XML обеспечивает широкий спектр функциональных возможностей, которые отсутствуют в
HTML
4
.
3
.2. Версии и расширения HTML и
XML
Первая версия
языка гипертекстовой разметки
HTML
(HyperText Markup Language), так же, как и сама технология Web, была разработана Тимом Бернерсом Ли в 1991 г. Язык HTML
является реализаций правил языка SGML для типа документов, которые были названы
документами
HTML. Язык задает фиксированную структуру, фиксированный набор тегов и их атрибутов, а также фиксированный набор сущностей. Программы обработки документов HTML называются Web
-браузерами
. Результатом обработки документа является Web
-страница
, выводимая на экран дисплея.
В 1994 г. группа поддержки Интернет IETF (Internet
Engineering
Task
Force
)
разработала спецификацию HTML 2.0, с которой началось широкое распространение языка HTML в сети
Internet
. В том же году был создан консорциум W3C (World Wide Web Corporation), объединивший 165 коммерческих и академических организаций, разработчиков и пользователей (с момента создания и по настоящее время эту организацию возглавляет Т.Б. Ли). Последняя версия спецификации HTML HTML 4.01 была принята консорциумом в декабре 1999 г.
- Язык XML обеспечивает широкий спектр функциональных возможностей, которые отсутствуют в HTML
Последняя версия спецификации языка XML XML 1.1 была принята в апреле 2004 г.
На основе языка XML концерн W3C разработал дальнейшее развитие языка
HTML
язык XHTML
(Extended
HTML
расширенный HTML). Первая версия этого языка XHTML 1.0 была принята в январе 2000 г. Эта версия фактически представляет собой переформулирование HTML 4 как приложения XML 1.0. Предполагается, что дальнейшее развитие языка HTML будет осуществляться в соответствии со спецификациями XHTML.
Новая версия XHTML XHTML 1.1 была принята консорциумом W3C в мае 2001 г. Эта рекомендация определяют новый тип документа XHTML на основе модулей. Каждый модуль XHTML 1.1 содержит один или несколько элементов и/или атрибутов языка HTML.
В соответствии со спецификацией, документы
XHTML
1.1 состоит из следующих групп модулей
XHTML
:
Модули ядра это модули, наличие которых необходимо в любом типе документа, соответствующего спецификации XHTML (в эту группу входят модули
Structure
,
Text
,
Hypertext
и
List
).
Модуль
Applet
, содержащий единственный элемент
<
applet
>
(этот элемент признан устаревшим и вместо него рекомендуется использовать элемент
<
object
>
).
Модули текстовых расширений, в которых определены различные дополнительные модули текстовой разметки (в эту группу входят модули
Presentation
,
Edit
и
Bi
-
directional
Text
).
Модули форм (в эту группу входят модули
Basic
Forms
и
Forms
).
Модули таблиц (в эту группу входят модули
Basic
Tables
и
Tables
).
Модуль
Image
, предоставляющий базовые возможности внедрения изображений (этот модуль также может независимо использоваться в некоторых реализациях клиентскими картами-изображениями).
Модуль
Client
-
side
Image
Map
, предоставляющий элементы для клиентских карт-изображений (для функционирования этого модуля необходимо включение модуля
Image
).
Модуль
Object
, предоставляющий поддержку включения объектов общего назначения.
Модуль
Frames
, предоставляющий элементы, относящиеся к фреймам.
URL (с помощью этого элемента вычисляются относительные URL документа).
Модуль
Name
Identification
, используемый для идентификации определённых элементов в документах HTML.
Модуль
Legacy
, определяющий элементы и атрибуты, которые уже не рекомендовались в предыдущих версиях HTML и XHTML и не рекомендуются в дальнейшем.
4
.
3
.3. Типы структур
HTML
и
XHTML
Согласно спецификации
HTML
4.01 для документов
HTML
определены
три структуры
, описываемые тремя DTD. Разработчики
Web
-страниц должны включать в свои документы одно из трех объявлений типов. Разница между DTD заключается в поддерживаемых ими элементах. Объявление
DTD
должно размещаться в самом начале документа.
HTML
4.01
Strict
DTD
(строгое определение) включает все элементы и атрибуты, не являющиеся отмененными (deprecated
) и не использующиеся в документах с фреймами.
Определение
HTML
4.0
Transitional
DTD
(переходное определение) включает все элементы, включенные в строгом
DTD
, а также отмененные элементы и атрибуты.
Определение
HTML
4.0
Frameset
DTD
(определение для фреймов) включает, помимо элементов переходного DTD, фреймы.
Первая строка документа
HTML
, определенного в соответствии со спецификацией
XHTML
Эта строка определяет используемую версию
XML
и кодировку символов документа. При кодировании символов в
XML
используется двухбайтовый код
Unicode
. В качестве значений параметра
encoding
наиболее часто используются кодировки
UTF
-8
, в котором значения первых 128 символов представляются в однобайтовой кодировке, символы наиболее распространенных языков (в том числе русского и украинского) двумя байтами, а остальные символы тремя байтами. В кодировке
UTF
-16
все символы представляются двумя байтами (эти кодировку рекомендуется использовать для русских и украинских документов
HTML
).