Языки разметки текста. Языки разметки документов Специальный язык разметки текстовых документов называется

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

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

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

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

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

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

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

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

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

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

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

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

Иногда можно услышать о "программировании" 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 оно используются, чтобы "обманным путем" заставить программу с...

Термин «разметка» происходит от традиционной практики разметки рукописей перед публикацией (то есть добавления символических команд на полях и между строк в бумажной рукописи).

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

Язык разметки - это набор специальных инструкций, называемых тегами (tags), выполняющих следующие функции:

      задание функций обработки выделенных элементов;

      выделение логических элементов данного документа.

Задание функций обработки выделенных элементов

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

Примеры процедурной разметки

Выделение логических элементов документа

Служит для формирования в документах какой-либо структуры и определения отношений между различными элементами этой структуры без указания способа обработки. Такая разметка называется описательной.

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

Описательная разметка

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

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

Примеры языков разметки

Языки разметки используются везде, где требуется вывод форматированного текста:

    в типографии (SGML,TeX,PostScript,PDF),

    пользовательских интерфейсах компьютеров (MicrosoftWord,OpenOffice,troff),

    Всемирной Сети (HTML,XHTML,XML,WML,VML,PGML,SVG,XBRL).

Теговая структура языка разметки

Развитие идей описательной разметки привело к определению разметки как формального языка.

Теги языка (управляющие дескрипторы) определенным образом кодируются (выделяются относительно основного содержимого документа) и служат в качестве инструкций для программы, производящей показ содержимого документа на стороне клиента.

Во многих современных языках для обозначения этих команд (теги языка) использовались символы < и >, внутри которых помещались названия инструкций и их параметры (HTML и XML). В SGML можно назначать другие символы для обрамления тега (например, фигурные скобки). Кроме того, существуют разные системы языков-подмножеств, которые используются, с меньшими возможностями, например на веб-форумах и досках объявлений используется язык разметки BBCode, теги которого ограничиваются символами квадратных скобок: .

Теговая модель описывает документ как совокупность контейнеров, каждый из которых начинается и заканчивается тегами. В большинстве случаев теги используются парами. Пара состоит из открывающего (start tag) и закрывающего (end tag) тегов.

Синтаксис открывающего тега: <имя_тега [атрибуты]>

Имя закрывающего тега отличается от имени открывающего лишь тем, что перед ним ставится наклонная черта:

Атрибуты определяют дополнительные характеристики элемента. Атрибуты тега записываются в следующем формате: имя[="значение"]. Для некоторых атрибутов значение может не указываться. У закрывающего тега атрибутов не бывает.

Действие любого парного тега начинается с открывающего тега и заканчивается при встрече соответствующего закрывающего тега.

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

Заголовок 1 уровня

Заголовок 2 уровня

В зависимости от используемого языка разметки дополнительно возможно применение одиночного тега и тега пустого элемента. Имя тега определяет тип элемента.

Синтаксис одиночного тега: <имя_тега [атрибуты] />

В некоторых языках разметки имена тегов заранее определены (HTML). В других не регламентируются жестко, т.е. пользователи могут вводить и использовать новые теги (XML). Например, тег «persona» можем определить тип этого XML элемента, как фамилия имя и отчество. Иванов Иван Иванович

В SGML элементы могут пересекаться, то есть в SGML возможна такая последовательность тегов:

В XML элементы имеют строгую синтаксическую структуру, то есть быть строго вложенными друг в друга и всегда закрываться:

Кроме того, в SGML, HTML они не обязаны быть закрытыми:

Практически во всех языках разметки документов значение атрибута интерпретируется как текстовое. Значение атрибута принято брать в кавычки.

Примечание:

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

Т.е. документ представляет собой не что иное, как обычный АSСII-файл, с добавленными в него управляющими кодами (тегами).

Язык разметки документов - это набор специальных инструкций, называемых тэгами, предназначенных для формирования в документах какой-либо структуры и определения отношений между различными элементами этой структуры. Тэги языка, или, как их иногда называют, управляющие дескрипторы, в таких документах выделяются относительно основного содержимого документа и служат в качестве инструкций для программы, производящей показ содержимого документа на стороне клиента. В самых первых системах для обозначения этих команд использовались символы “<” и “>”, внутри которых помещались названия инструкций и их параметры. Сейчас такой способ обозначения тэгов является стандартным.

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

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

HTML является упрощенной версией стандартного общего языка разметки - SGML (Standart Generalised Markup Language), который был утвержден ISO в качестве стандарта еще в 80-х годах. Этот язык предназначен для создания других языков разметки, он определяет допустимый набор тэгов, их атрибуты и внутреннюю структуру документа. Контроль над правильностью использования дескрипторов осуществляется при помощи специального набора правил, называемых DTD-описаниями, которые используются программой клиента при разборе документа. Для каждого класса документов определяется свой набор правил, описывающих грамматику соответствующего языка разметки. С помощью SGML можно описывать структурированные данные, организовывать информацию, содержащуюся в документах, представлять эту информацию в некотором стандартизованном формате. Но в виду некоторой своей сложности, SGML использовался, в основном, для описания синтаксиса других языков (наиболее известным из которых является HTML), и немногие приложения работали с SGML- документами напрямую.

Гораздо более простой и удобный, чем SGML, язык HTML позволяет определять оформление элементов документа и имеет некий ограниченный набор инструкций - тэгов, при помощи которых осуществляется процесс разметки. Инструкции HTML, в первую очередь, предназначены для управления процессом вывода содержимого документа на экране программы-клиента и определяют этим самым способ представления документа, но не его структуру. В качестве элемента гипертекстовой базы данных, описываемой HTML, используется текстовый файл, который может легко передаваться по сети с использованием протокола HTTP. Эта особенность, а также то, что HTML является открытым стандартом и огромное количество пользователей имеет возможность применять возможности этого языка для оформления своих документов, безусловно, повлияли на рост популярности HTML и сделали его сегодня главным механизмом представления информации в Web.

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

rose

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

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

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

XML (Extensible Markup Language) - это язык разметки, описывающий целый класс объектов данных, называемых XML-документами. Этот язык используется в качестве средства для описания грамматики других языков и контроля над правильностью составления документов. Т.е. сам по себе XML не содержит никаких тэгов, предназначенных для разметки, он просто определяет порядок их создания. Таким образом, если, например, мы считаем, что для обозначения элемента rose в документе необходимо использовать тэг ; то XML позволяет свободно использовать определяемый нами тэг и мы можем включать в документ фрагменты, подобные следующему:

rose

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

rose

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

Еще одним из очевидных достоинств XML является возможность использования его в качестве универсального языка запросов к хранилищам информации. Сегодня в W3C находится на рассмотрении рабочий вариант стандарта XML-QL(или XQL), который, возможно, в будущем составит серьезную конкуренцию SQL. Кроме того, XML-документы могут выступать в качестве уникального способа хранения данных, который включает в себя одновременно средства для разбора информации и представления ее на стороне клиента. В этой области одним из перспективных направлений является интеграция Java и XML - технологий, позволяющая использовать мощь обеих технологий при построении машинно-независимых приложений, использующих, кроме того, универсальный формат данных при обмене информации.

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

Также одним из достоинств XML является то, что программы-обработчики XML-документов не сложны и уже сегодня появились и свободно распространяются всевозможные программные продукты, предназначенные для работы с XML-документами. XML поддерживается в IE5. Было заявлено о его поддержке в последующих версиях Netscape Communicator, СУБД Oracle, DB-2, в приложениях MS-Office. Все это дает основания предполагать, что, скорее всего, в ближайшем будущем XML станет основным языком обмена информации для информационных систем, заменив собой, тем самым, HTML. На основе XML уже сегодня созданы такие известные специализированные языки разметки, как SMIL, CDF, MathML, XSL, и список рабочих проектов новых языков, находящихся на рассмотрении W3C, постоянно пополняется.

Язык XSLT применяется для обработки документов, внесения изменений и необходимых дополнений в разметку. Его можно применять для преобразования XML-кода в отформатированный HTML-код, легко воспринимаемый человеком. Можно также преобразовать XML-документ в простой текст или в иной XML-документ с измененной структурой либо даже в документ JavaScript. Язык XSLT обеспечивает доступ к содержимому XML-документов, а также применяется для создания новых документов на их основе. В силу изложенных причин стоит заняться изучением языка XSL.

Чаще выполняется преобразование XML-документов в HTML-документы, именно эта операция рассматривается в примерах данной главы.

Для выполнения XSLT-преобразования используются два документа: преобразуемый документ и таблица стилей, определяющая само преобразование. В данном случае идет речь об XML-документах.

Последние материалы сайта