Зачем нужен язык разметки? Язык разметки документов 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.

Иногда можно услышать о "программировании" Web-страницы, однако форматирование текста в окне броузера фактически не относится к программированию. Как следует из названий языков форматирования, они относятся к языкам разметки (markup languages). Иными словами, они состоят из различных символов, вставленных в тело документа, указывающих, как должен выглядеть файл при печати или отображении либо для определения его логической структуры (например, абзацев и маркированных списков). Если не использовать язык разметки, отображаемые данные представляют собой неструктурированный текст (raw text), без форматирования символов или абзацев.
Языки разметки определяют внешний вид документа с помощью кодов, называемых дескрипторами или тегами (tags), которые имеют примерно такую форму: . Первый дескриптор указывает точку начала форматирования, а второй (с наклонной чертой) — окончание кода. Если опустить второй дескриптор, кодирование, задаваемое первым дескриптором, применяется до конца документа.

Примечание:
Язык разметки можно применить к неструктурированному тексту либо вручную, либо с помощью текстового редактора (например, Notepad), либо с помощью графического инструмента, добавляющего код, когда вы визуально упорядочиваете текст по собственному вкусу.
Новичкам проще работать с графическими инструментами, которые не так точны, как текстовые редакторы.

Язык разметки гипертекста (HTML)

Язык HTML (HyperText Markup Language — язык разметки гипертекста) — основа кодирования и "становой хребет" большинства Web-страниц. HTML позволяет публиковать текст и рисунки, содержимое электронных таблиц и даже создавать отчеты на основе баз данных для чтения в интерактивном режиме. Он прекрасно подходит для организации и форматирования статической информации любого типа, поскольку позволяет:

● устанавливать размер и шрифт текста;
● форматировать текст полужирным шрифтом, курсивом или выделять подчеркиванием;
● задавать ссылки на другие страницы;
● вставлять изображения;
● создавать заголовки страниц;
● создавать таблицы;
● вставлять метаданные, необходимые для работы машин поиска.

Примечание:
Метаданными (metadata) называют скрытые данные, которые не отображаются на Web-странице, однако могут быть обнаружены машиной поиска (engine search), что позволит попасть на данный узел.

Применяются дескрипторы HTML трех типов.

● Для форматирования текста или отдельных символов.
● Для форматирования абзацев либо иных крупных текстовых блоков.
● Невидимые дескрипторы, которые обеспечивают остальные функциональные средства, например метаданные, для выполнения поиска.

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

Динамический HTML (DHML)

Динамический HTML (Dynamic HTML — DHML) более гибок по сравнению с HTML.
Вместо того чтобы выставлять на всеобщее обозрение статичную Web-страницу, вы можете использовать DHTML и создать Web-страницу, которую пользователь сможет настраивать без нарушения вида исходного документа. Например, страница, подготовленная с помощью DHTML, может содержать различные элементы, которые пользователь сможет перемещать по странице, чтобы перегруппировать ее содержимое (по собственному вкусу). Однако при обновлении (refreshing) изображения на странице изменения пропадают, и она принимает исходный вид.
DHTML поддерживает следующие средства, отсутствующие в HTML.

● Динамические стили.
● Точное позиционирование.
● Привязку данных.
● Динамическое содержимое.

Вам непонятно, что это такое? Не беспокойтесь — ниже приведены пояснения.

Применение стилей к документам Web. Динамические стили (dynamic styles) основаны на принципах каскадирования таблиц стилей (CSS — cascading style sheets), когда они применяются к странице в целом вместо ручного форматирования отдельных частей страницы.
Если вы работали с современными текстовыми процессорами, то, возможно, знакомы с таблицами стилей (style sheets), позволяющими автоматически сформатировать текстовые блоки тем или иным методом в зависимости от стиля, который вы им задали. Форматирование подразумевает изменение цвета текста, шрифта, размещения, видимости - вообще практически всего, что относится к реквизитам текста. CSS (и DHTML), делает то же самое, только применяется для обработки Web-страниц, а не для текстов.
В динамических стилях, реализуемых с помощью DHTML, предусмотрены средства, отсутствующие в текстовых процессорах. Например, вы можете при создании ссылок разметить текст так, что его цвет будет автоматически изменяться при наведении на него указателя мыши либо отображаться, когда вы проводите курсор над определенной областью экрана.
Единственный недостаток этих стилей заключается в том, что вы должны включать таблицы стилей в большинство документов. Это трудоемкая работа, особенно для тех, кто неопытен в работе с таблицами стилей или занимается конвертированием документов.

Размещение текста в нужном месте. Еще одно достоинство DHML — его способность точно указать место размещения элемента на странице. Для указания положения объекта используют горизонтальную (х), вертикальную (у) и даже объемную (z) координаты. (Задание положения объекта в трехмерной системе координат позволяет "перекрывать" объекты.) Точное позиционирование позволяет расположить текст вокруг изображения, а также перемещать объекты в пределах окна броузера.

Примечание:
HTML без CSS не обеспечивает точного размещения объектов. В этом случае размещение элементов определяется броузером.

Вставка данных на страницу. Чтобы предоставить пользователям доступ к некоторой внутренней информации (back-end information), например, хранящейся в базе данных, обычные страницы HTML должны быть связаны с сервером, на котором находятся исходные данные, и требуется запрашивать разрешение на манипулирование этими данными. DHTML позволяет привязать данные к конкретной странице, допуская работу с привязанными (или точнее - связанными) данными (bound data) без нарушения исходных данных и даже без взаимодействия с сервером, хранящим их. Для этого источники данных вводят в страницу (их можно сортировать и фильтровать точно так же, как и содержимое любой базы данных). Это не только снижает загрузку сервера, но также позволяет пользователям просматривать и манипулировать данными без предоставления им доступа к источнику самих данных.

Создание динамического содержимого. Таблицы стилей (style sheets) дают возможность издателю (publisher) Web без труда изменять внешний вид страницы или набора страниц.
Динамическое содержимое позволяет пользователю Web изменять внешний вид (представление) страницы исполнением сценария, чтобы:

● вставлять или скрывать элементы страницы;
● модифицировать текст;
● изменять структуру текста;
● перемещать данные из внутренних источников (back-end sources) и отображать их по запросу пользователя.

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

Совет:
В разделе "Организация собраний" (см. выше) упомянута карта здания, созданная на основе Web-данных, отображающая расположение конкретного офиса и портрет служащего, которого пользователь пытается отыскать. Эта карта создана с помощью DHTML-средств языка разметки для создания динамического содержимого.

Расширяемый язык разметки (XML)

Язык XML (Extensible Markup Language - расширяемый язык разметки) не заменяет HTML (во всяком случае, он редко встречается на Web-страницах), однако поддерживает его, позволяя несколько повысить универсальность Web-страниц.
Идея такова: когда вы форматируете страницу с помощью HTML, то можете изменить внешний вид текста дескрипторами, форматирующими его полужирным шрифтом, курсивом, подчеркиванием, абзацами и т.д. Однако сами дескрипторы практически никак не связаны с содержимым текста, а только с его форматированием. Язык XML имеет дескрипторы, определяющие внешний вид текста. Вы можете с их помощью указать, что обозначает данный текст (имена, адреса, названия продуктов и т.д.).
Зачем это нужно? Прежде всего, эти метаданные позволяют машинам поиска найти предварительно заданные элементы. Если вы проведете в Web-узле вашей корпорации (созданном с помощью языка HTML) поиск по слову "name", просматривая все упомянутые в нем имена, то в результате возвратятся все экземпляры слова "name", но не сами имена. Однако если при создании узла использовалось кодирование с помощью языка XML, в результате будет возвращен любой текст, имеющий дескриптор имени "name". Во-вторых, снабженные дескриптором части текста могут быть полезны, если вам необходимо применить некое средство (например, цвет или язык) только к отдельным частям документа Web. Пусть, например, интерактивный документ представляет собой краткий рассказ на испанском языке с переводом на английский. Тогда вместо переключения документа с поддержки испанского языка на поддержку английского, можно определить эти части рассказа дескрипторами и применить правила испанского языка только к этим частям, а переводы оставить на английском.
По существу, применение языка XML значительно облегчает разработку Web-страницы, особенно если некоторые его части необходимо создать как изолированные элементы.

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

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

Термины на букву V
Virtual Machines — виртуальные машины. Программное обеспечение, имитирующее работу физического устройства. В Windows 98 оно используются, чтобы "обманным путем" заставить программу с...

Логическая и визуальная разметки

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

Все документы, доступные через Web, написаны на специально разработанном для этого языке, который называется Hyper Text Markup Language (HTML). HTML - простой язык разметки, который позволяет помечать фрагменты текста и задавать ссылки на другие документы, выделять заголовки нескольких уровней, разбивать текст на абзацы, центрировать их и т. п., превращая простой текст в отформатированный гипермедийный документ.

Основу инструментария языка HTML составляют теги -- инструкции HTML, их в языке около сотни. Они присутствуют внутри гипертекстового документа и позволяют до тонкостей сформировать всю структуру и стиль его оформления. При просмотре такого документа с помощью браузера, например, эти теги невидимы. Да и при создании web-страницы с помощью специализированных программных средств, а такие средства присутствуют практически во всех офисных приложениях (в Word, Excel, Access, Power Point, Outlook и т. д.), теги пользователю не видны -- они вводятся автоматически.

Теги записывают в угловых скобках, например

или
. Здесь первый тег является открывающим, а второй, с косой чертой, - закрывающим. Действие этой пары тегов заключается в том, что находящийся между ними текст выравнивается по центру окна, в котором просматривается документ. Существуют самые разные теги от простых (для структурного, оформления и выравнивания текста, формирования цвета, размера, начертания шрифта и т. д.) до специальных (для включения в документ графических и мультимедийных объектов. Сложные теги имеют кроме имени еще и атрибуты, детализирующие способ их использования.

Теги HTML определяют не абсолютное форматирование документа, как коды текстового процессора, а только относительное. Например, тег, вызывающий центрирование строки текста, одинаково сработает и на широком экране, и на узком, а если текст не поместится по ширине экрана, он автоматически перенесется на вторую строку, третью и так далее.

Просматривать Web-страницы можно в любом текстовом редакторе, только делать это крайне неудобно, поскольку страница не форматируется, но зато видны ее теги.

Программы для просмотра документов в формате HTML называются браузерами. Просмотр Web-документов - одна из основных, хотя и не единственная функция браузера.

С момента разработки первой версии языка (HTML 1.0) прошло несколько лет. За это время произошло довольно серьезное развитие языка. Почти вдвое увеличилось число элементов разметки, оформление документов все больше приближается к оформлению качественных печатных изданий, развиваются средства описания не текстовых информационных ресурсов и способы взаимодействия с прикладным программным обеспечением. Совершенствуется механизм разработки типовых стилей. Фактически, в настоящее время 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) - это международный проект, посвященный созданию языка последовательного упорядочения данных, который, с одной стороны, понятен человеку, а с другой - поддерживает серьезные вычислительные возможности.
2024 samgupsnn.ru. Samgupsnn - Немного о компьютере и современных гаджетах.