Языки разметки. Зачем нужен язык разметки? Облегчённые языки разметки
Любой документ имеет три составляющих:
- содержание;
- структуру;
- стиль.
Обычно содержание документа представляется не в произвольном порядке, а имеет определенную структуру . Структура это состав и порядок следования частей (блоков) документа.
Стиль документа определяет форму вывода его содержания на то или иное устройство (например, принтер или дисплей). В понятие стиль входят характеристики шрифта (наименование, размер, цвет) всего выводимого документа или отдельных его блоков, порядок разбивки на страницы, расположение блоков на страницах и другие параметры.
Языки разметки документов являются искусственными языками, предназначенными для описания структуры документа и отношений между различными объектами структуры. Данные разметки называются также метаданными .
Первым языком разметки является язык 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 ).
Языки разметки
Язык разметки (текста) в компьютерной терминологии -- набор символов или последовательностей, вставляемых в текст для передачи информации о его выводе или строении. Принадлежит классу компьютерных языков. Текстовый документ, написанный с использованием языка разметки, содержит не только сам текст (как последовательность слов и знаков препинания), но и дополнительную информацию о различных его участках -- например, указание на заголовки, выделения, списки и т. д. В более сложных случаях язык разметки позволяет вставлять в документ интерактивные элементы и содержание других документов.
Следует отметить, что язык разметки неполон по Тьюрингу и обычно не считается языком программирования, хотя, строго говоря, он им является.
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 (хтмл) – это скачать самые известные учебные курсы в рунете, к тому же некоторые из них – совершенно бесплатные. Заходи на сайт Попова Евгения и скачивай тонны полезнейшей учебной информации. Для профессиональной подготовки прочти информацию .
В 1969 году три научных сотрудника компании IBM разработали GML, язык форматирования для публикации документов. GML - это не только аббревиатура от Generalized Markup Language, но также инициалы его создателей - Чарлз Гольдфарб, Эдвард Мошер и Реймонд Лорье.
GML поддерживает редактирование и форматирование текстов, позволяет подсистемам извлечения информации обмениваться документами. В то же время вместо простой схемы разметки GML представляет концепцию формально определенных типов документов, содержащих строгую иерархию структурированных элементов.
Основные компоненты GML были реализованы в издательских системах для мэйнфреймов, и сам язык пользуется большой популярностью в отрасли. GML применяется в IBM, причем с его помощью создается более 90% документов компании.
За счет расширения GML такими концепциями, как короткие сноски, обработка ссылок и параллельные типы документов, был создан язык Standard Generalized Markup Language. SGML стал активно применяться в издательском бизнесе, к тому же был принят к использованию в Государственном издательстве США и в 1986 году получил статус международного стандарта.
Тем не менее SGML был малоизвестен до 1990 года, когда Тим Бернерc-Ли, автор идеи World Wide Web, создал Hypertext Markup Language, который является подмножеством SGML. Вскоре после этого все виды документов и данных в начале и в конце каждого текстового элемента стали содержать тэги в стиле и. В конце 1990-х годов появился Extensible Markup Language (XML)... и вселенная ИТ необратимо изменилась.
Фактически создается впечатление, что не проходит и дня без известия о создании или описании нового языка разметки. Действительно, Computerworld в разделе Quick Study опубликовал уже 10 статей, посвященных описанию различных языков разметок, и то лишь самых основных. Поиск в Google выражения markup language дает ссылки на более чем 6 млн. страниц. Ниже предлагается краткий «путеводитель» по современному «пространству языков разметки». Безусловно, он не претендует на полноту, но дает представление о гибкости и возможностях этой концепции, а также о том, как они используются. Большинство этих языков представляют собой расширения XML или определения типов документов, предназначенных для конкретной сферы деятельности, хотя некоторые из них достаточно сложны.
Языки
- Business Process Execution Language (BPEL) предназначен для выполнения серий транзакций на базе Web и/или описания интерфейсов, которые необходимы для выполнения Web-транзакций. Он используется для моделирования бизнес-процессов с помощью спецификаций на транзакции и компенсационные транзакции, потоков данных, сообщений и запланированных событий, бизнес-правил, ролей защиты и обработки исключений.
- Cell Markup Language (CellML) служит для хранения и обмена компьютерными математическими моделями, позволяя ученым обмениваться моделями даже в том случае, если они используют разное программное обеспечение для их создания. Этот язык также позволяет им повторно использовать компоненты в одной модели при разработке другой, тем самым ускоряя процесс. CellML включает в себя математические и метаданные за счет использования существующих языков, в том числе MathML. www.cellml.org
- Chemical Markup Language (CML) - это новый подход к управлению молекулярной информацией, который использует недавно разработанные Internet-инструменты, такие как XML и Java. Данный язык, созданный строго на базе SGML, способен поддерживать крайне сложные информационные структуры и благодаря этому действовать как механизм обмена или средство архивирования. Он легко взаимодействует с современными архитектурами баз данных, в частности с реляционными или объектно-ориентированными. Самое важное, что уже создано огромное количество программного обеспечения XML общего назначения, предназначенного для его обработки и преобразования. www.xml-cml.org
- DARPA Agent Markup Language (XML) имеет ограниченные возможности для описания взаимосвязей между объектами. DAML расширяет XML за счет использования онтологий - четко определенных формальных спецификаций, описывающих, как представить объекты, концепции и другие элементы в конкретной предметной области, а также взаимосвязи между ними. www.daml.org/about.html
- Dynamic Markup Language (DML) - это язык, созданный на основе XML и предназначенный специально для объектных графических структур и разработки пользовательских интерфейсов. Как и HTML, этот язык включает в себя расширения, которые поддерживают вычисления, передачу аргументов и хранение переменных. www.rocklyte.com/dml
- Directory Services Markup Language (DSML) определяет содержимое и структуру каталога, поддерживает его на распределенных каталогах. DSML дает разработчикам простой и удобный способ для реализации XML-приложений в Internet. Такая поддержка крайне важна для приложений электронной коммерции.
- Financial Products Markup Language (FPML) - это стандарт на обмен бизнес-информацией при электронных торгах и обработке производных финансовых инструментов. Он устанавливает протокол обмена информацией в производных и структурированных продуктах и работы с ними. www.fpml.org/index.html
- Hypertext Markup Language (HTML) , основа Web, создан на базе версии GML, которая ранее использовалась в CERN. Главное его достоинство заключалось в том, что он впервые позволил создавать простые гипертекстовые ссылки между документами. www.w3.org/MarkUp
- Human Markup Language (HML) - это проект по созданию платформы для моделирования всего процесса человеческого общения, в том числе таких его сфер, как мышление, эмоции, поведение, мимика лица, с помощью графического или текстового представления. www.humanmarkup.org
- Materials Markup Language (MatML) был разработан для обмена информацией о веществах. www.matml.org
- Multimedia Retrieval Markup Language (MRML) унифицирует доступ к компонентам программного обеспечения, служащим для извлечения мультимедиа-информации и управления с целью расширения их возможностей. www.mrml.net
- Physical Markup Language (PML) - это простой язык общего назначения для описания физических объектов и сред для промышленных, коммерческих и потребительских приложений. PML поддерживает такую модульность и гибкость, что его можно использовать при мониторинге и управлении физической средой. К числу приложений относится контроль состояния склада, автоматические транзакции, управление цепочкой поставки, машинный контроль и взаимодействие между объектами. http://web.mit.edu/mecheng/pml/index.htm
- Security Assertion Markup Language (SAML) - это оболочка на базе XML, используемая для передачи информации об аутентификации пользователей, их правах и атрибутах. Он позволяет компаниям сообщать сведения относительно идентичности, атрибутов и прав субъекта (как правило, человека) иным субъектам, таким как партнерская компания или другое корпоративное приложение. www.oasis-open.org/committees/security/faq.php
- Services Provisioning Markup Language (SPM) - это оболочка, служащая для обмена между приложениями и организациями информацией о пользователях, ресурсах и предоставлении услуг.
- Speech Synthesis Markup Language (SSML) помогает при генерации искусственной речи в программном обеспечении Web и в других приложениях, предоставляя стандартный способ управления речевыми характеристиками, такими как произношение, сила, высота и скорость речи, на различных платформах. www.w3.org/TR/speech-synthesis
- User Interface Markup Language (UIML) позволяет создавать пользовательские интерфейсы для любого устройства, языка и операционной системы на устройстве. Он описывает внешний вид интерфейса, взаимодействие пользователя с интерфейсом и то, каким образом интерфейс связан с логикой приложения. www.uiml.org
- Voice Extensible Markup Language (VoiceXML). Приложения, управляемые голосовыми командами, становятся все популярнее, и VoiceXML описывает общие возможности, позволяя тем самым гарантировать переносимость между платформами. www.voicexml.org/
- Wireless Markup Language (WML) описывает содержимое и форматы для представления данных на устройствах с ограниченной полосой пропускания, таких как сотовые телефоны и пейджеры. Вместо того чтобы пытаться передать все содержимое Web-страницы, которое можно увидеть на ПК, WML представляет главным образом текстовую информацию, оптимизированную для мобильных устройств.
- Extensible Access Control Markup Language (XACML) - это схема на базе XML, которая была предназначена для создания правил и автоматизации их использования для контроля доступа к различным устройствам и приложениям в сети.
- Extensible Markup Language (XML) объединяет масштабируемость SGML с простой и широкой поддержкой HTML. Представляя в основе своей подмножество SGML, он проще и легче в реализации, поддерживает большинство возможностей SGML. XML одобрен в качестве стандарта консорциумом World Wide Web Consortium в 1998 году.
ML - не значит «язык разметки»
Далеко не каждый язык или акроним, оканчивающийся на ML, является языком разметки. Вот наиболее известные исключения.
Первоначально символы ML использовались как сокращение слова «метаязык», то есть язык программирования общего назначения, предназначенный для крупных проектов. Сейчас используется два основных диалекта этого языка. Это Standard ML (SML; см. www.dcs.ed.ac.uk/home/stg/NOTES ), математически определенная версия языка, сформулированная частично разработчиками исходного языка, и Objective Caml (OCaml; см http://caml.inria.fr/ ), производная версия оригинального ML, к которой по желанию разработчика добавляются возможности, без их определения в стандарте. К другим известным диалектам относятся Extended ML (EML; см http://homepages.inf.ed.ac.uk/dts/eml ) и Alice ML (www.ps.uni-sb.de/alice ).
ML и его варианты - это функциональные языки, и они не поддерживают никакой записи в память. Они трудны для программирования, но созданные с их помощью программы значительно лучше подходят для формального анализа и подтверждения корректности.
- Unified Modeling Language (UML) - это стандартная нотация для моделирования объектов реального мира как части разработки методологии объектно-ориентированного проектирования. UML применяется для моделирования структуры приложений, их поведения и архитектуры, а также бизнес-процессов и структур данных. Этот язык поддерживают производители многих систем автоматизированного проектирования. UML был создан на основе методологий, которые также описывают процессы при разработке и использовании модели. www.uml.org
- YAML Ain"t Markup Language (YAML) - это международный проект, посвященный созданию языка последовательного упорядочения данных, который, с одной стороны, понятен человеку, а с другой - поддерживает серьезные вычислительные возможности.