Язык разметки документов HTML. Что такое язык разметки HTML Системы созданные на различных языках разметки используют

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

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

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

Альтернативный способ разметки заключается в выделении части текста без указания способа обработки выделения. Затем другие команды назначают фрагментам способ обработки. Такая разметка называется описательной (дескриптивной). Она включает метки (tags, теги) начала и окончания элемента текста и указывает, как интерпретировать данный фрагмент.

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

Достоинства

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

Описательная разметка также облегчает задачу переформатирования документа при необходимости, поскольку описание формата не связано с содержанием. Например, курсив может использоваться либо для выделения текста, либо отметки иностранных (или жаргонных) слов, либо для других целей. Однако если слова просто выделены (дескриптивно или процедурно) как курсив, в этой двусмысленности нельзя полностью разобраться. Если же эти два случая были по-разному размечены в самом начале, каждый может быть переформатирован независимо от других. Родовидовая (generic markup) разметка - другое наименование для описательной разметки.

Практически элементы различных классов разметок обычно сосуществуют в любой конкретной системе. Например, HTML содержит как элементы разметки, которые являются процедурными (Ь для полужирного шрифта), так и другие, которые являются описательными («blockquote», или «href», - признак). HTML также включает элемент PRE, который ограничивает область текста, которая будет расположена точно так, как напечатано.

Системы описательной разметки

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

С наступлением 3 тысячелетия возник интерес к документам неиерархических структур. Например, древняя и религиозная литература обычно имеет риторическую структуру или структуру прозы (рассказ, раздел, параграф и так далее.), а также включает справочную информацию (книги, главы, строфы, строки). Так как границы этих модулей часто пересекаются, они не могут быть полностью закодированы с использованием только системы разметки с древовидной структурой. Среди систем моделирования документов, которые поддерживают такие структуры, - MECS, TEI Guidelines, LMNL, и CLIX.

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

В настоящее время существует множество языков разметки, среди наиболее широко известных - DocBook, MathML, SVG, Open еВоок, XBRL и другое В основном они предназначены для представления различных текстовых документов, но специализированные языки могут использоваться во многих других областях. Безусловно, наиболее хорошо известен язык разметки HTML (язык разметки гипертекста), одна из основ WWW (Всемирной паутины).

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

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

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

Зачем нужен язык разметки?

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

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

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

Идея решения проблемы обмена документами между различными компьютерами и приложениями через Internet основана на языке разметки гипертекста HTML (HyperText Markup Language). Этот язык был создан более 15 лет назад как стандарт оформления документов и был принят подавляющим большинством пользователей Internet, а главное, - всеми производителями программного обеспечения и оборудования для Web. Документы, размеченные согласно HTML, могут читаться на любом компьютере, на котором установлена всего лишь одна программа просмотра таких документов - браузер.

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

Текстовый документ, составленный на HTML, имеет размер в байтах в несколько раз меньший, чем размер аналогичного документа, подготовленного в текстовом процессоре (например, Word).

В основу разрабатываемого языка Бернерс-Ли (разработчик) положил язык SGML и приемы работы с гипертекстом, с чем и связано название созданного им языка - HTML. Новый язык использовал основные конструкции SGML для описания документов и гипертекстовых ссылок.


Гипертекст - это способ организации текста, графики и других данных, при котором элементы данных связаны между собой. Связанными могут быть как элементы одного документа, так и элементы различных документов. Гипертекстовая структура лежит в основе World Wide Web.

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

Связи в гипертекстовой структуре осуществляются с помощью ссылок. Благодаря ссылкам, пользователь может из одного документа вызвать другой документ, из него следующий документ и т.д.

В 1989 г. Бернерс-Ли разработал информационную систему, напоминающую путину документов, связанных ссылками. Документы хранятся на серверах, которые размещаются по всему миру и соединены между собой каналами Интернета. Он разработал протокол HTTP - язык, на котором серверы должны обмениваться гипертекстовыми документами , и написал первые программы Web-сервера и браузера. Он обратился напрямую к Интернет-сообществу, и энтузиасты в 1991 году начали создавать первые узлы Web.

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

World Wide Web или сокращенно Web - это глобальная система распространения гипертекстовой информации, использующая в качестве каналов транспортировки Интернет.

Фактически World Wide Web - это гипертекстовое пространство документов, которое не связано с географией размещения самих Web-узлов. Поэтому в этом пространстве физическое расстояние между узлами не имеет смысла. Вы можете на экране монитора одинаково просматривать Web-страницы, которые хранятся как на диске компьютера в соседней комнате, так и на сервере, расположенном в другой стране.

World Wide Web функционирует по определенным стандартам, которые разрабатываются и внедряются объединением исследовательских и промышленных организаций - консорциумом W3C (сокращение от World Wide Web Consortium). .

Язык разметки HTML был основан на языке SGML. Средства разметки абзацев, заголовков, списков и прочие элементы имеющиеся в HTML, были предусмотрены и в SGML. Заслуга изобретателя HTML состоит в том, что он ввел в язык разметки то, чего не было SGML - это гипертекстовые ссылки.

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

· структуру;

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

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

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

Первым языком разметки является язык 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.

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

НTML - это язык гипертекстовой разметки.

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

На сайте все происходит так же. Чтобы сделать правильную структуру статьи - контента - нужно использовать язык разметки текста.

Для чего нужен HTML

Язык HTML нужен, чтобы сообщить браузеру, как нужно отобразить страницу на экране.

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

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

Что такое HTML-код

Код - это команды браузеру, как следует отобразить страницу. Есть структура, которая должна соблюдаться всегда. Например, наличие только одного заголовка H1 на странице, основная информация помещается в раздели т. д.

В языке есть три инструмента.

Теги бывают двух видов - парные и одиночные.

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

Структура HTML-кода на странице

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

  1. ! - указывает, что в документе используется HTML.
  2. ... - в этот тег помещается весь код страницы. Все, что в него не помещено, не распознается браузером и не отображается.
  3. ... - парный тег, в него помещается технрическая информация, например, о кодировке документа.
    1. ... - это заголовок страницы, он помещается внутри раздела head. У любой страницы должен быть свое уникальное название.
    2. - это служебная информация. Она подключает к странице отдельные стили - css и т. д. Не отображается пользователю.
  4. ... - тело страницы. Вся основная информация заключается в этот тег.
    1. ... - гиперссылки.
    2. - изображения.
    3. ... - жирный текст.
    4. ... - курсив.

Элементов внутри body может быть неограниченное количество.

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

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

В начале февраля 1998 года международная организация W3C утвердила спецификацию "Extensible Markup Language (XML) 1.0", которая положила начало разработке множества новых языков разметки для передачи информации через Интернет на основе стандарта XML. По сути дела, это означало новый шаг в развитии языков гипертекстовой разметки. За четыре года своего существования XML не только привлек к себе довольно значительное внимание со стороны как обыкновенных пользователей, так и множества веб-дизайнеров, но и стал неотъемлемой чатью Интернета. Уже сегодня практически не существует серверов, которые в той или иной степени не использовали бы эту технологию как аналог HTML. Однако говорить о том, что XML именно сейчас становится основным способом трансляции гипертекста через глобальную сеть, пока еще по крайней мере преждевременно. Сам язык еще достаточно молод, и некоторые его элементы до сих пор находятся в стадии разработки. Пока что создан лишь общий каркас того, что, возможно, в будущем заменит Html, но в каком конкретно виде это будет - пока сказать невозможно.

От начала

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

По большому счету, именно невероятная популярность World Wide Web и ее неотъемлемой части, HTML, безусловно, стала причиной крайне повышенного внимания к структурам гипертекстовой разметки документов.

Впервые понятие гипертекста было введено В.Бушем еще в 1945 году. Однако реальные приложения, использующие подобные структуры данных, стали использоваться только начиная с 60-х годов, а поистине необычайный всплеск активности вокруг этой технологии начался лишь тогда, когда возникла реальная необходимость в механизме объединения множества информационных ресурсов, обеспечения возможности создания, просмотра нелинейного текста. И примером реализации этого механизма послужила та самая паутина WWW.

Непосредственно язык разметки документов - это набор специальных инструкций, называемых тэгами (в некоторых переводных изданиях тэги называют ярлыками), предназначенных для создания в документах какой-либо структуры и определения отношений соответственно между различными элементами этой структуры. Тэги языка разметки, или, как их иногда называют, управляющие дескрипторы, в таких документах кодируются совершенно определенным образом, выделяются относительно основного содержимого документа, после чего служат в качестве инструкций для программы, производящей интерпретацию и показ содержимого документа, собственно говоря, тому, кто его просматривает, если пытаться найти аналогии с Интернетом, то этим некто является клиент, а программой-интерпретатором в самом распространенном случае является броузер). Уже в самых первых системах для обозначения этих команд было решено использовать символы "<" и ">", внутри которых помещать названия инструкций и их параметры. На сегодняшний день такой способ обозначения тэгов является общепризнанным стандартом.

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

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

SGML (Standard Generalized Markup Language) был официально принят в 1986 году в качестве международного стандарта (ISO 8879:1986) для описания независимых от устройств ввода/вывода и от вычислительной среды методов представления текстовой информации в электронной форме. Основой для его создания послужил довольно старый язык разметки GML(Generalized Markup Language), разработанный компанией IBM еще во времена первых персональных копьютеров. Если быть точным, то SGML - это метаязык, предназначенный для описания других языков разметки.

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

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

SGML, в отличие от всех других языков разметки, созданных на его основе, использует принцип так называемой описательной разметки вместо процедурной. Подобная система использует элементы разметки, которые попросту предоставляют названия для отнесения отдельных частей документа к определенным категориям. Другими словами, тэги, такие как Или \end{list}, просто идентифицируют порцию документа и утверждают, что "эта часть является параграфом" или что "эта часть является концом начатого списка", и т.п. Система же, использующая процедурную разметку (сюда попадают текстовые процессоры, например, Microsoft Word) определяет, какая непосредственно обработка будет выполняться в конкретной точке текстового документа: "в этом месте вызвать такую-то процедуру с параметрами 5, е и z" или "передвинуть границу документа на 7 мм правее относительно какого-либо элемента, пропустить одну строку начать следующую с красной строки" и т.д. В SGML инструкции, которые необходимы для обработки документа с определенной конкретной целью (например, для форматирования), четко отделяются от описательной разметки, которая встречается внутри документа. Обычно они собраны вне документа в отдельных процедурах или программах.

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

SGML вводит также понятие типа документа, и, соответственно, способы его определения (document type definition, DTD). Документы считаются типизированными, так же как и другие обрабатываемые компьютерами объекты. Тип документа формально определяется его составными частями и их структурой. Скажем, можно определить тип документа таким образом, что он должен состоять из заголовка и, возможно, имени автора, за которыми следует аннотация и последовательность одного или более абзацев. Любой документ в отсутствие заголовка, в соответствии с этим формальным определением, не будет являться отчетом, так же как не будет им являться и последовательность абзацев, за которой следует аннотация, невзирая на то, насколько похож на отчет такой документ с точки зрения читателя-человека.

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

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

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

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

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

rose,

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

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

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

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

rose

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

rose

Если мы хотим посадить туда еще несколько цветочков, то должны внести следующие изменения:

rose

tulip

cactus

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

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

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

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

Как выглядит XML-документ?

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

Структура документа

Простейший XML-документ может выглядеть так, как это показано в Примере 1

Первый

Второй подпункт 1

Третий

Последний

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

Тело документа XML состоит из элементов разметки (markup) и непосредственно содержимого документа - данных (content). XML-тэги предназначены для определения элементов документа, их атрибутов и других конструкций языка. Более подробно о типах применяемой в документах разметки мы поговорим чуть позже.

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

Правила создания XML-документа

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

В заголовке документа помещается объявление XML, в котором указывается язык разметки документа, номер его версии и дополнительная информация.

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

В XML учитывается регистр символов.

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

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

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

Если XML-документ не нарушает приведенные правила, то он называется формально-правильным и, все анализаторы, предназначенные для разбора XML-документов, смогут работать с ним корректно.

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

Russia Novosibirsk</country>

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

На сегодняшний день существует два основных способа контроля правильности XML-документа: DTD-определения(Document Type Definition) и схемы данных(Semantic Schema). Более подробно об использовании DTD и схемах мы поговорим в следующий раз. В отличие от SGML, определение DTD-правил в XML не является необходимостью, и это обстоятельство позволяет нам создавать любые XML-документы, не ломая пока голову над весьма непростым синтаксисом DTD.

Основной принцип

Элемент - это основная структурная единица XML-документа. Заключая слово rose в в тэги , мы определяем непустой элемент, называемый , содержимым которого является rose. В общем случае в качестве содержимого элементов могут выступать как просто какой-то текст, так и другие, вложенные, элементы документа, секции CDATA, инструкции по обработке, комментарии, - т.е. практически любые части XML- документа.

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

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

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

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

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

Заключение

Язык форматирования Web-страниц HTML изначально вводился как приложение SGML. Позже, с бурным развитием WWW, HTML начал всячески расширяться с целью дать автору больший контроль над внешним представлением информации. Новые элементы и атрибуты, такие как или , ориентировались на визуальное форматирование. Появились и стали активно использоваться средства, не входящие собственно в язык разметки: imagemaps, Java и JavaScript, plugins, и прочее. Много появилось также элементов HTML, поддерживаемых только определенным броузером, или по-разному работающих в разных броузерах. Поэтому сейчас уже сложно утверждать, является ли HTML приложением SGML или нет. Очень немногие страницы создаются в соответствии со спецификациями на HTML и соответствующими DTD.

Эту проблему отчасти призваны облегчить каскадируемые стили, стандарт на которые принят W3-консорциумом. CSS1 отделяет стиль, задающий визуальное представление элементов, от разметки элементов.

Большой интерес представляет язык XML, предположительно идущий на смену HTML в качестве языка разметки Web-cтраниц. Это - вариант SGML, ориентированный в первую очередь на применение на WWW. Он не требует обязательного наличия DTD, упрощен и сам язык за счет редко используемых сложных конструкций. Это позволит сделать простыми анализаторы, что сделает возможным активное применение XML в броузерах. (Вероятность чего довольно велика, учитывая реверансы обоих основных игроков на поле броузеров в сторону XML).


ВЕРСИЯ ДЛЯ ПЕЧАТИ>>
Статья прочитана :раз.
Похожие статьи

© 2024 liveps.ru. Домашние задания и готовые задачи по химии и биологии.