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

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

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

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

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

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

Достоинства

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

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

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

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

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

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

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

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

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

· структуру;

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

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

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

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

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

Языки, предназначенные для простого и быстрого написания текста в простом текстовом редакторе, называются облегчёнными (en:Lightweight markup language). Особенности таких языков:

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

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

  • Вики-разметка (см. Википедия:Как править статьи)
  • Различные системы автодокументирования (например, Javadoc).

История

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

GenCode

Идея использовать языки разметки в компьютерной обработке текстов, вероятнее всего, была впервые обнародована Вильямом Тьюнниклиффом (англ. William W. Tunnicliffe ) на конференции в 1967 году . Сам он именовал своё предложение «универсальным кодированием» (англ. «generic coding» ). В 1970-е годы Тьюнниклифф руководил разработкой стандарта GenCode для издательской индустрии и позже занял пост руководителя одного из комитетов Международной организации по стандартизации (ISO, англ. International Organization for Standartization ), создавшего SGML , первый описательный язык разметки. Брайан Рэйд (англ. Brian Reid ) в своей диссертации, которую он защитил в 1980 году в университете Карнеги (англ. Carnegie Mellon University ), в развитие предложенной концепции осуществил практическую реализацию описательной разметки.

Тем не менее, в настоящее время «отцом» языков разметки обычно называют исследователя IBM Чарльза Голдфарба (англ. Charles Goldfarb ). Основная концепция родилась у него в 1969 году , при работе над примитивной системой управления документами, предназначенной для адвокатских контор. В том же году он принял участие в создании языка IBM GML , который был впервые представлен в 1973 году .

Некоторые ранние реализации компьютерных языков разметки можно обнаружить в типографских утилитах UNIX , таких как troff и nroff . Они позволяют вставлять команды форматирования в текст документа для его форматирования согласно требованиям редактора.

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

TeX

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

Scribe, GML и SGML

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

В начале 80х идея, что разметка должна быть сфокусирована на структурных аспектах документа и должна оставить внешнее представление документа интерпретатору, привела к созданию SGML. Язык был разработан комитетом, возглавляемым Голдфарбом. Он объединил идеи со многих источников, включая Тьюнникоффликский проект, GenCode. Шэрон Адлер (Sharon Adler), Андерс Бергланд (Anders Berglund) и Джеймс А. Марк (James A.Marke) так же были ключевыми членами комитета SGML.

SGML точно определял синтаксис для включения разметки в текст, а так же отдельно описывал какие теги разрешены и где (DTD - Document Type Definition). Это давало возможность авторам создавать и использовать любую разметку, какую они захотят, выбирая теги для использования и давая им имена на нормальном языке. Таким образом, SGML следует считать мета-языком; множественные специальные языки разметок произошли от него. Поздние 80е были наиболее значимыми в появлении новых языков разметок, основанных на SGML, например TEI и DocBook .

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

HTML

К 1991 году использование SGML было ограничено бизнес-программами и базами данных, а WYSIWYG-инструменты (которые сохраняли документы в проприетарных бинарных форматах) использовались для остальных программ обработки документов. Ситуация изменилась, когда сэр Тим Бернерс-Ли , узнав о SGML от своего коллеги Андерса Бергланда (англ. Anders Berglund ) и других сотрудников в ЦЕРНе , использовал синтаксис SGML для создания HTML . Этот язык имел сходство с другими основанными на синтаксисе SGML языками разметки, однако начать его использование было гораздо проще даже тем разработчикам, которые никогда этого не делали. Стивен ДеРоуз (Steven DeRose) убеждал, что HTML, использующий описательную разметку (и от языка SGML в частности) - это основной фактор в развитии Web, потому что в нем была заложена гибкость и расширяемость (а также другие факторы, включая понятие о URL и свободное использование браузерами). В наше время HTML - наиболее привлекательный и самый часто используемый язык разметки в мире.

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

XML

XML (расширяемый язык разметки) - это мета-язык разметки, широко используемый в настоящее время. XML разработан консорциумом World Wibe Web в комитете, возглавляемом Джоном Босаком (Jon Bosak). Основное предназначение XML - быть более простым, чем SGML и сфокусироваться на специфичной проблеме - документах в интернете. XML - мета-язык как SGML, пользователям разрешается создавать любые теги, какие необходимы (отсюда «расширяемый»). Становлению XML помогли, т. к. каждый XML-документ мог быть написан таким же способом, как и SGML-документ, а программы и пользователи, использующие SGML, могли перейти на XML достаточно легко.

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

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

XHTML

Начиная с января 2000 года, все рекомендации для W3C были основаны на XML в большей степени, чем на SGML, была предложена аббревиатура XHTML (Extensible HyperText Markup Languge - Расширяемый Гипертекстовый Язык Разметки). Спецификации языка требовали, чтобы XHTML-документы были оформлены как XML-документы, это позволяет использовать XHTML для более четких и точных документов, используя теги от HTML.

Одно из самых достойных внимания различий между HTML и XHTML - это правило, гласящее что все теги должны быть закрытыми: пустые теги, например <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, т. к. это хорошо структурированный и расширяемый язык.

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

Язык разметки 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 .Его непосредственным наследником стал язык SGML – стандартный обобщенный язык разметки, определяющий правила записи элементов разметки документа.

требования к языку разметки документов:

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

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

  • структуры документа;
  • дескрипторы или элементы и сопутствующие им атрибуты;
  • сущности (entities );
  • комментарии.

Документы SGML имеют древовидную структуру.

Дескрипторы в SGML размещаются в начале (открывающий дескриптор) и в конце (закрывающий дескриптор) каждого элемента (item ).

Атрибуты – это простые символьные конструкции (items ), которые добавляются к элементам для придания им уточнения действия дескрипторов.

Языки обобщенной разметки, подобные SGML , допускают использование атрибутов, с которыми могут быть соотнесены до 15 различных типов значений, в том числе:

  • Ссылки на любые ресурсы, находящиеся вне документа, на которые обычно ссылаются как на сущности (entities ).
  • Уникальный идентификатор (ID ) элемента в документе.
  • Указатели идентификаторов (ID Pointers ), имеющие перекрестные ссылки для тех элементов, которые имеют ID , упомянутые в документе.
  • Обозначения или атрибуты элементов, которые определяют обозначения в содержании элемента.
  • Символьные данные (character data ), или CDATA , представляющие собой любые допустимые символы, которые не могут выступать в качестве значений атрибутов.

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

Для проверки соответствия документа разметке заданного типа используется специальные программы – анализаторы (parsers). Анализаторы являются либо отдельными программами, либо частью программы обработки документа SGML. Чтобы анализатор мог выполнить проверку документа, создается специальный документ, называемый определением типа документа

Язык HTML является приложением языка SGML для использования в Internet с фиксированной структурой, фиксированным набором элементов (дескрипторов) и их атрибутов, а также фиксированным набором сущностей. расширенный язык разметки XML (Extensible Markup Language ). Язык XML является подмножеством языка SGML , полностью совместимым с ним.

Язык XML обеспечивает широкий спектр функциональных возможностей, которые отсутствуют в HTML

4 . 3 .2. Версии и расширения HTML и XML

Первая версия языка гипертекстовой разметки – HTML (HyperText Markup Language), так же, как и сама технология Web, была разработана Тимом Бернерсом Ли в 1991 г. Язык HTML является реализаций правил языка SGML для типа документов, которые были названы документами HTML. Язык задает фиксированную структуру, фиксированный набор тегов и их атрибутов, а также фиксированный набор сущностей. Программы обработки документов HTML называются Web -браузерами . Результатом обработки документа является Web -страница , выводимая на экран дисплея.

В 1994 г. группа поддержки Интернет – IETF (Internet Engineering Task Force ) разработала спецификацию HTML 2.0, с которой началось широкое распространение языка HTML в сети Internet . В том же году был создан консорциум W3C (World Wide Web Corporation), объединивший 165 коммерческих и академических организаций, разработчиков и пользователей (с момента создания и по настоящее время эту организацию возглавляет Т.Б. Ли). Последняя версия спецификации HTML – HTML 4.01 была принята консорциумом в декабре 1999 г.

  • Язык XML обеспечивает широкий спектр функциональных возможностей, которые отсутствуют в HTML

Последняя версия спецификации языка XML – XML 1.1 была принята в апреле 2004 г.

На основе языка XML концерн W3C разработал дальнейшее развитие языка HTML – язык XHTML (Extended HTML – расширенный HTML). Первая версия этого языка – XHTML 1.0 была принята в январе 2000 г. Эта версия фактически представляет собой переформулирование HTML 4 как приложения XML 1.0. Предполагается, что дальнейшее развитие языка HTML будет осуществляться в соответствии со спецификациями XHTML.

Новая версия XHTML – XHTML 1.1 была принята консорциумом W3C в мае 2001 г. Эта рекомендация определяют новый тип документа – XHTML на основе модулей. Каждый модуль XHTML 1.1 содержит один или несколько элементов и/или атрибутов языка HTML.

В соответствии со спецификацией, документы XHTML 1.1 состоит из следующих групп модулей XHTML :

Модули ядра – это модули, наличие которых необходимо в любом типе документа, соответствующего спецификации XHTML (в эту группу входят модули Structure , Text , Hypertext и List ).

Модуль Applet , содержащий единственный элемент < applet > (этот элемент признан устаревшим и вместо него рекомендуется использовать элемент < object > ).

Модули текстовых расширений, в которых определены различные дополнительные модули текстовой разметки (в эту группу входят модули Presentation , Edit и Bi - directional Text ).

Модули форм (в эту группу входят модули Basic Forms и Forms ).

Модули таблиц (в эту группу входят модули Basic Tables и Tables ).

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

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

Модуль Object , предоставляющий поддержку включения объектов общего назначения.

Модуль Frames , предоставляющий элементы, относящиеся к фреймам.

URL (с помощью этого элемента вычисляются относительные URL документа).

Модуль Name Identification , используемый для идентификации определённых элементов в документах HTML.

Модуль Legacy , определяющий элементы и атрибуты, которые уже не рекомендовались в предыдущих версиях HTML и XHTML и не рекомендуются в дальнейшем.

4 . 3 .3. Типы структур HTML и XHTML

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

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

Определение HTML 4.0 Transitional DTD (переходное определение) включает все элементы, включенные в строгом DTD , а также отмененные элементы и атрибуты.

Определение HTML 4.0 Frameset DTD (определение для фреймов) включает, помимо элементов переходного DTD, фреймы.

Первая строка документа HTML , определенного в соответствии со спецификацией XHTML

Эта строка определяет используемую версию XML и кодировку символов документа. При кодировании символов в XML используется двухбайтовый код Unicode . В качестве значений параметра encoding наиболее часто используются кодировки UTF -8 , в котором значения первых 128 символов представляются в однобайтовой кодировке, символы наиболее распространенных языков (в том числе русского и украинского) – двумя байтами, а остальные символы тремя байтами. В кодировке UTF -16 все символы представляются двумя байтами (эти кодировку рекомендуется использовать для русских и украинских документов HTML ).

Похожие статьи

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