Файл: Языки гипертекстовой разметки (Определение понятия „Языки гипертекстовой разметки“).pdf
Добавлен: 29.06.2023
Просмотров: 51
Скачиваний: 2
Можно сказать, что переход языков разметки с традиционных бумажных носителей на компьютерную операционную среду начался с понятия «Универсального кодирования» или «generic coding» — так назвал свою идею использовать языки разметки в компьютерной обработке текстов Вильям Танниклифф на конференции в 1967 году. Он руководил разработкой соответствующего стандарта GenCode для издательской индустрии в 1970-е годы и занимал важный пост в одном из комитетов ISO.
Тем не менее, «отцом» языков разметки всё таки называют Чарльза Голдфарба из IBM. Их концепция родилась у него в 1969 году, при работе над очень примитивной системой управления документами, предназначенной для адвокатских контор. В том же году он принял участие в создании языка IBM GML, представленного в 1973 году.
Следующим витком эволюции языков разметки, стало появление стандарта в 1978 году SGML, основанного на GML и GenCode, который был принят организацией ISO в качестве стандартного в октябре 1986 года.
Доступность издательского ПО с функцией WYSIWYG вытеснила большинство этих языков среди обычных пользователей, хотя серьёзная издательская работа по-прежнему использует разметку для специфических не визуальных структур текста, а WYSIWYG-редакторы сейчас чаще всего сохраняют документы в форматах, основанных на языках разметки.
К 1991 году использование SGML было ограничено бизнес-программами и базами данных, а WYSIWYG-инструменты использовались для остальных программ обработки документов. Ситуация изменилась, когда сэр Тим Бернерс-Ли, узнав о SGML от своего коллеги Андерса Бергланда и других сотрудников в ЦЕРНе, использовал синтаксис SGML для создания HTML. Этот язык имел сходство с другими основанными на синтаксисе SGML языками разметки, однако начать его использование было гораздо проще даже тем разработчикам, которые никогда этого не делали.
XML (расширяемый язык разметки) — это широко используемый в настоящее время язык разметки. Он разработан W3C в возглавляемом Джоном Босаком комитете. Его основное предназначение быть проще SGML и фокусироваться на документах в интернете. Пользователям разрешается создавать любые теги, какие необходимы. Становлению XML помогли — каждый XML-документ может быть написан тем же способом, как и SGML-документ, а программы и пользователи, использующие SGML, могли перейти на XML достаточно легко.
Тем не менее, XML лишился многих ориентированных на людей особенностей языка SGML, упрощавших его использование. Другие улучшения исправляли некоторые проблемы SGML на международном уровне и делали возможным разбор документа иерархически, даже если он не был доступен DTD.
Начиная с января 2000 года, все рекомендации для W3C были основаны на XML в большей степени, чем на SGML, была предложена аббревиатура XHTML. Спецификации языка требовали, чтобы XHTML-документы были оформлены как XML-документы, это позволяет использовать XHTML для более четких и точных документов, используя теги от HTML.
На данный момент основными действующими и разрабатываемыми языками (гипертекстовой) разметки являются HTML, как монополист разметки в веб-среде, и XML, являющийся гибким и удобным инструментов для разработчиков ПО.
Резюмируя этот раздел, можно сказать, что SGML, ставший наследником идей GenCode и GML, а также произошедшие от них HTML и XML, развивались в полной зависимости от операционной среды, в которой действуют их разработчики. Это во многом повлияло не только на их развитие, но и на его прекращение — так можно сказать, например, про GML, специфика которого обуславливала его применение исключительно для программного обеспечения компании IBM.
3. Особенности основных языков гипертекстовой разметки
В этом разделе чуть более подробно рассматриваются основные, или ключевые, языки (гипертекстовой) разметки.
Стоит отметить, что для самых первых языков (гипертекстовой) разметки недостаточно актуальной литературы, а их разработка давно остановлена, поэтому они будут рассмотрены вкратце. Тем не менее, их операционная среда вполне воспроизводима современными средствами, поэтому каждый может опробовать себя в роли пользователя редакторского программного обеспечения конца прошлого века.
3.1 GML
Начать изучение этого раздела стоит именно с GML, или Generalized Markup Language, одного из главных предков существующих языков гипертекстовой разметки. Он является набором макросов, использующих процедурную разметку SCRIPT для формирования разметки документа. SCRIPT, в свою очередь, это основной компонент продукта Document Composition Facility, использующийся для составления документов в IBM — стартовый набор тегов в GML поставлялся вместе с ним.
Основные компоненты GML были также реализованы в издательских системах для мэйнфреймов, да и сам язык пользовался довольно большой популярностью в отрасли.
GML позволяет форматировать и редактировать текст, поддерживает обмен документами подсистемами извлечения информации. При этом он представляет собой концепцию формально определенных типов документов со строгой иерархией структурированных элементов.
При использовании GML документ помечается тегами, которые определяют, чем является текст с точки зрения параграфов, заголовков, списков, таблиц. Такой документ может быть автоматически отформатирован для различных устройств, остается только указать разновидность устройства. Например, можно форматировать документ для лазерного или матричного принтера, или просто вывести на экран, всего лишь указав профиль оборудования, без изменения самого документа.
Рисунок 1, пример GML-скрипта
3.2 SGML
За счет расширения GML такими концепциями, как короткие сноски, обработка ссылок и параллельные типы документов, был создан язык SGML, или Standard Generalized Markup Language, стандартный обобщённый язык разметки.
Основной его целью было создания машиночитаемых документов в правительственных и аэрокосмических проектах. В целом, SGML стал активно применяться в издательском бизнесе, к тому же был принят к использованию в Государственном издательстве США и в 1986 году получил статус международного стандарта, но его сложность затруднила его широкое распространение для повседневного использования. Стандартизован ISO в 1986 году.
Основные части документа SGML можно разделить на три части:
- SGML-декларация;
- DTD, Document Type Definition;
- Контент SGML-документа.
Рисунок 2, часть кода SGML-документа
Три характеристики SGML отличали его от прочих языков разметки.
С описательной, а не процедурной, разметкой один и тот же документ может быть обработан разнообразными программами, каждая из которых может применять различные инструкции обработки к тем его частям, которые она считает важными. Например, программа анализа содержимого может полностью игнорировать сноски, тогда как программа форматирования может извлекать и собирать их для печати в конце каждой части. Различные виды инструкций обработки могут ассоциироваться с одной и той же частью файла. Например, одна программа может извлекать из документа фамилии людей и географические названия для создания индекса или базы данных, тогда как другая, обрабатывающая тот же самый текст, может печатать фамилии и названия отличающимся шрифтом.
SGML вводит понятие типа документа, и, соответственно, определения типа документа (document type definition, DTD). Документы считаются типизированными, так же, как и другие обрабатываемые компьютерами объекты. Тип документа формально определяется его составными частями и их структурой. Определение, например, отчета может быть таким, что он состоит из заголовка и, возможно, автора, за которыми следует аннотация и последовательность одного или более абзацев. Любой документ в отсутствие заголовка, в соответствии с этим формальным определением, не будет формально являться отчетом, так же как не будет им являться и последовательность абзацев, за которой следует аннотация, невзирая на то, насколько похож на отчет такой документ с точки зрения читателя-человека.
Поскольку документы относятся к известным типам, можно использовать специальную программу, называемую анализатором (parser), для того, чтобы обработать документ, утверждающий, что он относится к конкретному типу, и проверить, действительно ли все элементы, требуемые для данного типа документов, присутствуют и находятся в правильной последовательности. Что еще более важно, разные документы одного типа могут обрабатываться унифицированным образом. Можно писать более интеллектуальные программы, использующие знания, заключенные в информационной структуре документа.
Основная цель проектирования SGML была в создании гарантий того, что документ, закодированный согласно его положениям, будет переносимым с одной аппаратной и программной среды в другую без потери информации. Два его свойства, описанных выше, отвечают этому требованию на абстрактном уровне; третье свойство — на уровне строчек байтов (символов), которые составляют документ. SGML предоставляет обобщенный механизм строковой подстановки, то есть, простой машинно-независимый способ указания, что конкретная строка символов в документе в момент обработки документа должна заменяться на некоторую другую строку. Одно очевидное применение этому механизму — обеспечение единой терминологии; другое, и более значительное, -- противодействие известной неспособности разных компьютерных систем понимать наборы символов друг друга, например, одной системе представлять все графические символы, необходимые приложению, путем описательного отображения непередаваемых символов. Строки, определяемые этим механизмом, называются сущностями (entities).
В контексте SGML, слово атрибут, подобно другим, имеет строгий технический смысл. Оно используется для описания информации, являющейся в каком-либо смысле описательной для конкретного появления элемента, но не являющейся частью его содержимого. Например, можно добавить атрибут status к экземплярам некоторых элементов для обозначения степени их достоверности, или добавить атрибут identifier, так что можно будет ссылаться на конкретное появление элемента из других мест документа. Атрибуты полезны именно в таких случаях.
Хотя разные элементы могут иметь атрибуты с одинаковыми названиями (например, в схеме TEI каждый элемент определяется имеющим атрибут id), эти атрибуты всегда считаются различными и могут иметь различные присваиваемые им значения. Если элемент определен имеющим атрибуты, значения атрибутов задаются в документе как пары атрибут-значение внутри открывающей метки экземпляра элемента. Закрывающая метка не может содержать спецификаций атрибут-значение, так как это было бы излишним.
Обсуждавшиеся до сих пор аспекты SGML все имели отношение к разметке структурных элементов документа. SGML также предоставляет простой и гибкий метод кодирования и наименования произвольных частей действительного содержимого документа переносимым образом. В SGML слово объект (entity) несет специальный смысл: оно означает именованную часть размеченного документа, безотносительно ко всяческим соображениями структуры. Объектом может быть строка символов или целый файл текста. Для включения его в документ используется конструкция, известная как ссылка на объект (entity reference).
3.3 HTML
Тем не менее SGML был малоизвестен до 1990 года, когда Тим Бернерc-Ли, автор идеи World Wide Web, создал Hypertext Markup Language, являющийся подмножеством SGML. Вскоре после этого все виды документов и данных в начале и в конце каждого текстового элемента стали содержать тэги в стиле <тэг>.
HTML является стандартизированным язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML. Разметка интерпретируется браузерами, а полученный в результате текст отображается на устройстве вывода. До своей 5-ой версии HTML определялся как приложение SGML.
Изначально язык HTML был задуман и создан как средство структурирования и форматирования документов без их привязки к средствам воспроизведения (отображения). В идеале текст с разметкой HTML должен был без стилистических и структурных искажений воспроизводиться на оборудовании с различной технической оснащённостью (цветной экран современного компьютера, монохромный экран органайзера, ограниченный по размерам экран мобильного телефона или устройства и программы голосового воспроизведения текстов). Однако современное применение HTML очень далеко от его изначальной задачи. Например, тег <table> предназначен для создания в документах таблиц, но иногда используется и для оформления размещения элементов на странице. С течением времени основная идея платформонезависимости языка HTML была принесена в жертву современным потребностям в мультимедийном и графическом оформлении.
HTML-документы, имеющие расширение .html или .htm, интерпретируются специальными приложениями, называемые «браузерами» или «интернет-обозревателями», которые отображают документ в его форматированном виде. Такие приложения обычно предоставляют пользователю удобный интерфейс для запроса веб-страниц, их просмотра и/или вывода на иные внешние устройства. Также, при необходимости, могут отправлять введённые пользователем данные на сервер. Сейчас наиболее популярными браузерами являются Google Chrome, Mozilla Firefox, Opera, Яндекс.Браузер и Safari.