Языки разметки документов общие сведения. Смотреть что такое "Язык разметки" в других словарях. Языка разметки HTML и основные теги

Здравствуй, дорогой читатель. Настала пора рассказать про язык разметкиHTML , с помощью которого созданы абсолютно все сайты Интернета - и российского и буржуйского и даже китайского. Но это не язык программирования, как думают некоторые, а язык разметки гипертекста.

Напомню, что гипертекстом называют текст, в котором есть ссылки на другие страницы и документы. Язык разметки показывает, где и как должен быть размещён какой-то элемент текста, например, абзац, заголовок, список и др. За оформление этих элементов отвечает тесно связанный с HTML язык CSS, который делает оформление страниц сайтов красивым, читаемым и легковесным из-за разгрузки кода страниц.

Кроме CSS html может быть дополнен функциями языков программирования PHP и JavaScript, придающими страницам интерактивность, т.е. способность реагировать на действия пользователя.
С помощью этих всех инструментов можно любой сложности и любой функциональности. Сам же язык HTML отвечает только за разметку

Веб-страница изнутри




Это мой сайт



Это мой текст

В этом приведённом коде ты видишь команды-теги , которые иногда называют дескрипторами . Они заключены в угловые скобки. Теги в большинстве своём парные. Открывающий и закрывающий, со слэшем впереди . Весь код языка разметки html является вложенным друг в друга, и напоминает как бы «матрёшку», где один контейнер вложен в другой.

На рисунке ниже показана расшифровка этого кода:

А вот как выглядит эта же страница в браузере Mozilla Firefox. Я показал, где отображаются текст заголовка Title и текст тега Body

Как создать html-страницу

Для наглядности скопируй текст с тегами, что находится выше, в любой текстовый редактор, например, блокнот и сохрани его на рабочий стол. Нажми правую кнопку и выбери «переименовать». Вместо расширения.txt, как у обычного текстового файла, укажи расширение.html или.htm. Значок блокнота сменится на значок браузера, щёлкнув по которому, ты увидишь свою первую веб-страницу.

Если же расширение не отображается, тогда нужно сделать следующее.

Найти на компьютере: Оформление и персонализация - Параметры папок - Вид.

Показывать расширение файлов всегда полезно, чтобы злоумышленники не могли рассчитывать, что вы откроете файл с заразой типа «подарочек.jpg», который в самом деле будет «подарочек.jpg.exe». Очень легко без расширения, которое Виндос скрывает по умолчанию, принять запускающий файл «зловреда» со скрытым расширением.EXE за обычную картинку.

Смотри видео по созданию HTML-страниц


Программы для создания HTML-страниц

Писать код гипертекстовой разметки Html вручную без опыта может показаться тяжким испытанием на внимательность и выносливость. Но, поверь мне, что только таким образом закрепив свои навыки, ты сможешь с гордостью называть себя вебмастером.

Для интеллектуального контроля за написанием html кода вручную существует множество программ с подсветкой кода. Среди любителей-разработчиков наиболее популярны Notepad++, PHP Designer, Dreamweaver

Последние две программы платные, но старые версии, которые ничем не хуже новых, можно найти в сети бесплатно и легально использовать для своих нужд. Dreamweaver является визуальным редактором. Он сам преобразует твой текст с оформлением в код. В любом случае ты не пожалеешь, что познакомишься с этим инструментом.

Зачем же тогда учиться писать код вручную? Дело всё в том, что любые визуальные редакторы, даже редактор, встроенный в Вордпресс, генерируют иногда столько много мусорного собственного кода, что страницы весят во много раз больше написанных с помощью головы и рук. Да если ещё учесть, что поисковые системы сейчас обращают внимание на чистоту кода, тогда поневоле задумаешься об изучении Html, чтобы контролировать весь процесс.

В целом же Дримвейвер заменит на первых порах хорошего учителя. Пользуйся этой программой и смотри, как пишется html-страница. Главное, не ленись посматривать в верхнее окно программы, где формируется код. Отмечай для себя, где программа делает что-то лишнее.

Что такое браузер на самом деле

Много людей считают, что браузер предназначен для поиска сайтов в интернете, что это и есть его назначение. Таким образом, в понимании пользователя ПК создаётся ошибочное мнение о назначении браузера. В самом деле же, браузер – это программа для интерпретации html-кода, CSS-кода, JS-кода и др. Иными словами – это прикладное программное средство для отображения веб-страниц и других документов.

Возможности современных браузеров по-настоящему велики. Ведь веб-страницы содержат графику, видео и тексты разных форматов. Браузер читает html-код, видит внедрённый туда видеоматериал, графический и текстовый код и правильно всё это отображает на экранах устройств. В этом ему помогают теги, эти обычные английские слова в угловых скобках .

Браузер видит с помощью тегов, какая часть текста, которую он интерпретирует, является названием сайта, какая заголовком, что нужно представить как абзац, где расположить рисунок и попутно решить множество задач, связанных с различными языками, внедрёнными в обычный HTML.

Языка разметки HTML и основные теги
говорит браузеру, что это Html-документ
здесь находится информация для поисковых машин
содержимое отображается в окне браузера
название страницы
Заголовки: от самого большого до самого маленького
Жирное и наклонное выделение текста
текст ссылки Говорит браузеру, что это ссылка с текстом «текст ссылки «

Создание нового параграфа

выравнивание параграфа (left, right, justify или center )
Говорит браузеру, что нужно создать форму

Эта таблица приведена с целью показать только основные дескрипторы.

В современной версии HTML5 вместе с новыми тегами появилось огромное количество новых возможностей, которые и не снилось разработчикам сайтов ещё 10 лет назад.

Стили в html-документе

Когда браузер отображает содержимое веб-страницы, он отображает заголовки одним стилем, текст абзацев – другим, размеры шрифтов для них применяются также разные. В каждом браузере это задействовано по умолчанию. Но мы хотим видеть индивидуальные оформления веб-страниц, и на помощь тут приходит язык CSS, язык каскадных таблиц стилей . С помощью CSS можно задать оформление любого элемента, можно создать любой дизайн веб-документа.

CSS является стилевым дополнением к языку html и без него не существует.

Стили в Html внедряются так:

Head>

Hr { color: sienna; }

P { margin-left: 20px ; }

Body { background-image: url ("images/back40.gif"); }

Если же применяется внешний файл стилей 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 (хтмл) – это скачать самые известные учебные курсы в рунете, к тому же некоторые из них – совершенно бесплатные. Заходи на сайт Попова Евгения и скачивай тонны полезнейшей учебной информации. Для профессиональной подготовки прочти информацию .

Языки разметки

Язык разметки (текста) в компьютерной терминологии -- набор символов или последовательностей, вставляемых в текст для передачи информации о его выводе или строении. Принадлежит классу компьютерных языков. Текстовый документ, написанный с использованием языка разметки, содержит не только сам текст (как последовательность слов и знаков препинания), но и дополнительную информацию о различных его участках -- например, указание на заголовки, выделения, списки и т. д. В более сложных случаях язык разметки позволяет вставлять в документ интерактивные элементы и содержание других документов.

Следует отметить, что язык разметки неполон по Тьюрингу и обычно не считается языком программирования, хотя, строго говоря, он им является.

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.

(Standard Generalized Markup Language), представленный в стандарте ISO 8879. Этот язык принят в качестве основного языка оформления технической документации, в том числе интерактивных электронных технических руководств на создаваемые изделия в CALS-технологиях .

В языке SGML определяется структура документов в виде последовательности объектов данных. Объекты данных, представляющие части документа, могут храниться в различных файлах. Стандарт SGML устанавливает такие множества символов и правил для представления информации, которые позволяют различным системам правильно распознавать и идентифицировать эту информацию. Названные множества описывают в отдельной части документа, называемой декларацией DTD (Document Type Decfinition), которую передают вместе с основным SGML-документом. В DTD указывают соответствие символов и их кодов, максимальные длины используемых идентификаторов, способ представления ограничителей для тегов, другие возможные соглашения, синтаксис DTD, а также тип и версию документа. Следовательно, SGML можно назвать метаязыком для семейства конкретных языков разметки. В частности, подмножествами SGML можно считать языки разметки XML и HTML .

Техническое описание в виде SGML-документа включает:

  • основной файл с техническим руководством, размеченный SGML-тегами;
  • описание сущностей , если документ относится к группе, в которой используются одни и те же сущности и подразумевается их известность;
  • словарь для пояснения SGML-тегов;

Однако язык SGML сложен для освоения и применения. Поэтому для широкого применения разметки в документах, представляемых в WWW -технологиях, в 1991 г. на базе SGML был разработан упрощенный язык HTML (HyperText Markup Language), а в 1996 г. язык XML (eXtensible Markup Language), который становится в сочетании с HTML основным языком представления документов в различных приложениях.

Язык HTML разработан с целью широкого применения разметки в документах, представляемых в WWW-технологиях.

Описание на языке HTML представляет собой текст в формате ASCII и последовательность включенных в него команд (управляющих кодов), называемых также дескрипторами или тегами. Этот текст называют HTML-документом, или HTML-страницей, или после размещения на Web-сервере — Web-страницей . Теги расставляются в нужных местах исходного текста, они определяют шрифты, переносы, появление графических изображений, ссылки и т.п. При использовании WWW-редакторов вставка команд осуществляется простым нажатием соответствующих клавиш.

Язык XML, как и HTML, считается подмножеством языка SGML. В настоящее время язык XML претендует на роль основного языка представления документов в информационных технологиях, его можно рассматривать как метаязык, служащий основой для создания частных языков разметки в различных приложениях. При этом XML более удобен, чем SGML, что обеспечивается устранением в XML некоторых второстепенных особенностей SGML. Описания на XML легче воспринимаются, приспособлены для использования в современных браузерах при сохранении основных возможностей SGML.

Для конкретных приложений создаются свои варианты XML, называемые XML-словарями или XML-приложениями. Так, для описания текстов со специфической математической символикой разработано XML-приложение OSD (Open Software Description). Для CALS интерес представляет вариант Product Definition eXchange (PDX), посвященный обмену данными. Известны словари для химии (CML — Chemical Markup Language), биологии (BSML — Bioinformatic Sequence Markup Language) и др.

Облегчённые языки разметки

Языки, предназначенные для простого и быстрого написания текста в простом текстовом редакторе, называются облегчёнными (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-редакторы сейчас чаще всего сохраняют документы в форматах, основанных на языках разметки.

TeX

Другой важный издательский стандарт - это ТеХ , созданный и впоследствии улучшенный Дональдом Кнутом в 70е-80е года двадцатого столетия. ТеХ собрал воедино высокие возможности форматирования текста и описания шрифтов, в особенности для математических книг профессионального качества. Это потребовало от Кнута большого количества времени для изучения искусства набора текстов. Тем не менее, ТеХ пошел вниз по наклонной кривой, так что теперь он в основном используется в научном мире, где является стандартом де-факто во многих научных дисциплинах. Помимо Тех существует LaTeX , который представляет собой широко используемую описательную систему разметки на основе ТеХ .

Scribe, GML и SGML

Первым языком с четким и ясным различием между структурой и видом документа был Scribe , был создан и описан докторской диссертацией Брайана Рейда (Brian Reid) в 1980 году. Scribe был революционным в количестве способов обработки, не в последнюю очередь из-за введенной идеи стилей, отделенных от собственно текста и грамматики и управляющих использованием описательных элементов. Scribe оказал влияние на разработку языка GML (позже SGML), а так же он является прямым предком языков HTML и LaTeX .

В начале 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 Wibe 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 - это правило, гласящее что все теги должны быть закрытыми: пустые теги, например , должны быть оба закрыты стандартным закрывающим тегом или специальной записью: (пробел перед «/» в закрывающем теге опцинален, но часто используется, поскольку его используют некоторые пре-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, т. к. это хорошо структурированный и расширяемый язык.

Использование языка XHTML также показывает, что его можно комбинировать с различными языками разметки одного профиля, например XHTML+SMIL или XHTML+MathML+SVG.

Любой документ имеет три составляющих:

· структуру;

Содержание – это те сведения, которые отображены в документе. Содержание документа на бумаге может быть сугубо текстовым, а также содержать изображения. Если документ представлен в электронном виде, он может содержать и мультимедийные данные, а также ссылки на другие документы. Хотя содержание разных документов различно, их можно классифицировать по типам, например, книга или железнодорожный билет.

Стиль документа определяет форму вывода его содержания на то или иное устройство (например, принтер или дисплей). В понятие стиль входят характеристики шрифта (наименование, размер, цвет) всего выводимого документа или отдельных его блоков, порядок разбивки на страницы, расположение блоков на страницах и другие параметры. Один и тот же документ может выводиться разными стилями как на разные носители, так и на один и тот же носитель.

Языки разметки документов являются искусственными языками, предназначенными для описания структуры документа и отношений между различными объектами структуры. Данные разметки называются также метаданными.

Первым языком разметки является язык GML (Generalized Markup Language –обобщенный язык разметки), разработанный сотрудниками фирмы IBM еще в 60-х годах прошлого века. Его непосредственным наследником стал язык SGML (Standard Generalized Markup Language – стандартный обобщенный язык разметки), определяющий правила записи элементов разметки документа. Документ, соответствующий правилам языка, называется документом SGML.

Язык SGML определен в стандарте ISO 8879, в котором задаются следующие основные требования к языку разметки документов:

· язык должен быть доступен для чтения человеком.

· размеченные файлы документов должны быть текстовыми и кодироваться с помощью символов кода ASCII (American Standard Code for Information Interchange – стандартного американского кода для информационного взаимодействия). Однако содержание документа необязательно должно кодироваться символами ASCII или быть текстовым.

В языке SGML и подобных ему языках используются специальные инструменты разметки документа:

· элементы и сопутствующие им атрибуты;

· сущности (entities);

· комментарии.

Структурной единицей документа SGML является элемент. В размеченном тексте каждый элемент должен быть выделен определенным образом. Выделение выполняется вставкой начального тега (от английского слова tag – метка) в начале элемента (start tag) и конечного тега (end tag) в конце элемента. Начальный и конечный теги имеют одинаковые имена. Чтобы отличить теги от обычного текста, они должны начинаться с символа – признака начала тега и заканчиваться символом – признаком окончания тега. Кроме того, в конечном теге задается символ – признак конечного тега. В SGML в качестве таких признаков можно задать любые символы, однако наиболее часто в качестве признака начала тега используется символ "" (левая угловая скобка), а в качестве признака конечного тега – символ "/" (наклонная черта). Элементы в документе SGML могут заключать в себе другие элементы, в результате чего в графическом представлении документ SGML является иерархической (древовидной) структурой.


Пример 4.3.1. Документ SGML, задающий список студентов с результатами их экзаменационной сессии можно задать следующим образом:

Список оценок студентов в сессии

Иванов Иван Иванович

ТС-61

A

B

B

B

Петров Петр Петрович

ТС-62

C

C

D

C

В этом документе первым элементом является элемент student-list (список студентов). Этот элемент содержит в себе один элемент title (заглавие) и несколько элементов student (данные о студенте). В свою очередь, каждый элемент student содержит в себе один элемент full-name (фамилия, имя и отчество студента), один элемент group-number (номер группы) и один элемент mark-list (список оценок студента в сессии). И, наконец, элемент mark-list содержит в себе несколько элементов mark (оценка).

Графическое представление этого списка на рис. 4.3.1 имеет древовидную структуру:

Рис. 4.3.1. Структура документа SGML в графическом представлении

Для уточнения элементов SGML можно использовать атрибуты. Атрибуты записываются в начальном теге элемента в следующем виде:

имя-атрибута="значение-атрибута".

Для элемента может быть задано несколько атрибутов. Атрибуты отделяются друг от друга и имени элемента, по крайней мере, одним пробелом.

Пример 4.3.2. Для элементов mark в примере 4.3.1 можно задать атрибут subject, значением которого является наименование дисциплины, по которой сдавался экзамен. Тогда для первого студента элементы примут следующий вид:

A

B

B

B

В таких языках, как SGML, для работы с группами данных применяются сущности (entities). Сущностью являются любые именованные данные, как текстовые, так и нетекстовые. При просмотре документа имя сущности заменяется ее значением. Так, например, имя текстовой сущности kpi будет заменено ее значением: Киевский политехнический институт, а нетекстовая сущность image1 будет замена изображением с именем image1.