Файл: Языки гипертекстовой разметки (Понятия языков разметки).pdf
Добавлен: 30.06.2023
Просмотров: 49
Скачиваний: 2
Введение
В наши дни интернет повсеместно проходит в общественную жизнь. Каждый человек желает иметь собственную страничку в интернете. Но не каждый может ее создать. Простейшие страницы в интернете создаются с помощью языком гипертекстовой разметки, которых на сегодняшний день выпущено великое множество. Самым простейшим языком написания интернет-страниц является HTML. HTML является стандартизированным языком разметки документов в Интернете. Большинство web-страниц содержат описание разметки на языке HTML или XHTML.
Актуальностью данной работы является рассмотрение основ языков гипертекстовой разметки, их разновидностей и особенностей каждого языка с целью помощи при выборе наиболее подходящего языка для программирования веб-сайта или другого применения языка гипертекстовой разметки.
Целью данной работы является изучение основных элементов языков гипертекстовой разметки.
Объектом данного исследования является понятие языка разметки и история развития разновидностей языков разметки. Предметом исследования являются разновидности языков гипертекстовой разметки.
Задачами данной работы являются:
- изучение понятия языка разметки;
- обзор конкретных разновидностей языков разметки;
- рассмотрения поэтапной истории развития языков разметки;
- изучение конкретных примеров языков гипертекстовой разметки.
В основу данной работы легли книги таких авторов, как Фримен и Шаффер.
1. Понятия языков разметки
1.1. Язык разметки
Язык разметки в компьютерной терминологии является набором последовательностей или символов, которые вставляются в текст для передачи информации о его строении или выводе. Язык разметки принадлежит классу компьютерных языков. Текстовый документ, который написан с использованием языка разметки, содержит не только сам текст в виде последовательности знаков препинания и слов, но и такую дополнительную информацию о различных его участках, как например, списки, выделения, и указание на заголовки другие подобные элементы. В более сложных случаях язык разметки позволяет вставлять в документ содержание других документов или интерактивные элементы[1].
Следует отметить, что по Тьюрингу язык разметки неполон и обычно не считается языком программирования[2].
Разметки различаются на визуальную и логическую. В случае логической разметки речь идет только о том, какую роль играет данный участок документа в его общей структуре. А в случае визуально разметки определяется непосредственно отображение элемента. Идея языков разметки состоит в том, что визуальное отображение документа должно автоматически получаться из логической разметки и не зависеть от его непосредственного содержания. Это упрощает автоматическую обработку документа и его отображение в различных условиях. К примеру, один и тот же файл может по-разному отображаться на экране мобильного телефона, компьютера или на печати, так как свойства данных устройств вывода существенно различаются. Но это правило часто нарушается: например, создавая документ в редакторе наподобие MS Word, пользователь может выделять заголовки жирным шрифтом, но нигде не указывать, что эта строка является заголовком[3].
Языки разметки используются везде, где требуется получение форматированного текста на основании одного лишь текста: в типографии. В качестве примеров таких языков можно привести TeX, SGML, RTF и PostScript, Также языки разметки применяются в пользовательских интерфейсах компьютеров, например языки Microsoft Word, troff, OpenOffice, Но чаще всего языки размеки встречаются в Интернете. Среди них распространены HTML, XML, XHTML, VML, XBRL, WML, SVG и PGML[4] [1 6].
1.2. История разновидностей языков разметки
Термин «разметка» подразумевает результат процесса, в английском языке называемого markup. Данный термин произошел от словосочетания «marking up», что в переводе значит размечивание или помечивание. Такое толкованиие взято из традиционной издательской практики проставления специальных условных пометок в тексте и на полях корректуры или рукописи перед передачей ее в печать. Таким образом разметчики указывали размер, стиль и гарнитуру шрифта для каждой части текста. На сегодняшний день разметкой текста занимаются графические дизайнеры, корректоры, редактор и часто сами авторы[5] [8].
Идея использовать языки разметки в компьютерной обработке текстов, вероятнее всего, была впервые обнародована Вильямом Танниклиффом на конференции в 1967 году. Сам он именовал свое предложение «универсальным кодированием». В 1970-е годы Танниклифф руководил разработкой стандарта GenCode для издательской индустрии и позже занял пост руководителя одного из комитетов Международной организации по стандартизации, создавшего SGML, первый описательный язык разметки. Брайан Рэйд в своей диссертации, которую он защитил в 1980 году в университете Карнеги, в развитие предложенной концепции осуществил практическую реализацию описательной разметки[6].
Тем не менее, в настоящее время «отцом» языков разметки обычно называют исследователя IBM Чарльза Голдфарба. Основная концепция родилась у него в 1969 году, при работе над примитивной системой управления документами, предназначенной для адвокатских контор. В том же году он принял участие в создании языка IBM GML, который был впервые представлен в 1973 году[7].
В 1975 году Голдфарб переехал из Кембриджа, Массачусетс в Силиконовую долину, где стал разработчиком исследовательского центра IBM Almaden Research Center. Там он в 1978 году убедил руководство IBM использовать GML в коммерческих целях в составе разработанного компанией «средства формирования документов», после чего GML несколько лет широко использовался в бизнесе[8].
В 1978 году начались первые разработки, которые в конечном итоге привели к созданию стандарта SGML, основанного на GML и GenCode. Сам Голдфарб позднее возглавил комитет по SGML, который был принят организацией ISO в качестве стандартного в октябре 1986 года[9].
Некоторые ранние реализации компьютерных языков разметки можно обнаружить в типографских утилитах UNIX, таких как troff и nroff. Они позволяют вставлять команды форматирования в текст документа для его форматирования согласно требованиям редактора.
Доступность издательского софта с функцией WYSIWYG, означающей «что увидишь, то и получишь», вытеснила большинство этих языков среди обычных пользователей, хотя серьезная издательская работа по-прежнему использует разметку для специфических не визуальных структур текста, а WYSIWYG-редакторы сейчас чаще всего сохраняют документы в форматах, основанных на языках разметки[10] [6, 8, 10].
Другой важный издательский стандарт — это ΤΕΧ, созданный и впоследствии улучшенный Дональдом Кнутом в 70е-80е года двадцатого столетия. ΤΕΧ собрал воедино высокие возможности форматирования текста и описания шрифтов, в особенности для математических книг профессионального качества. В настоящее время ΤΕΧ является стандартом де-факто во многих научных дисциплинах. Помимо ΤΕΧ существует LaTeX, который представляет собой широко используемую описательную систему разметки на основе ΤΕΧ[11] [10].
Первым языком с четким и ясным различием между структурой и видом документа был Scribe, был создан и описан докторской диссертацией Брайана Рейда в 1980 году. Scribe был революционным в количестве способов обработки, не в последнюю очередь из-за введенной идеи стилей, отделенных от собственно текста и грамматики и управляющих использованием описательных элементов. Scribe оказал влияние на разработку языка GML и позже SGML, а также он является прямым предком языков HTML и LaTeX[12].
В начале 80х идея, что разметка должна быть сфокусирована на структурных аспектах документа и должна оставить внешнее представление документа интерпретатору, привела к созданию SGML. Язык был разработан комитетом, возглавляемым Голдфарбом. Он объединил идеи из многих источников, включая Тьюнникоффликский проект, GenCode. Шэрон Адлер, Андерс Бергланд и Джеймс А. Марк так же были ключевыми членами комитета SGML[13].
SGML точно определял синтаксис для включения разметки в текст, а также отдельно описывал, какие теги разрешены и где. Это давало возможность авторам создавать и использовать любую разметку, какую они захотят, выбирая теги для использования и давая им имена на нормальном языке. Таким образом, SGML следует считать метаязыком; множественные специальные языки разметок произошли от него. Поздние 80-е были наиболее значимыми в появлении новых языков разметок, основанных на SGML, например, TEI и DocBook[14].
В 1986 году SGML был опубликован как международный стандарт организацией ISO под номером 8879. SGML нашел широкое признание и широко использовался в очень больших проектах. Как бы то ни было, в целом было обнаружено, что он громоздок и труден для изучения, побочным эффектом языка было то, что он пытался сделать слишком много и быть чересчур гибким. Для примера, SGML создавал не всегда нужные закрывающие теги, потому что считал, что эта разметка будет добавлена вручную, штатом поддержки проекта, которые бы оценили экономию нажатий клавиш[15] [4, 8, 10, 12].
К 1991 году использование SGML было ограничено бизнес-программами и базами данных, а WYSIWYG-инструменты использовались для остальных программ обработки документов. Ситуация изменилась, когда сэр Тим Бернерс-Ли, узнав о SGML от своего коллеги Андерса Бергланда и других сотрудников в ЦЕРНе, использовал синтаксис SGML для создания HTML. Этот язык имел сходство с другими основанными на синтаксисе SGML языками разметки, однако начать его использование было гораздо проще даже тем разработчикам, которые никогда этого не делали. Стивен ДеРоуз убеждал, что HTML, использующий описательную разметку — это основной фактор в развитии Web, потому что в нем была заложена гибкость и расширяемость, а также другие факторы, включая понятие о URL и свободное использование браузерами. В наше время HTML — наиболее привлекательный и самый часто используемый язык разметки в мире[16].
Однако статус HTML как языка разметки оспаривается некоторыми компьютерными учеными. Их основным аргументом является то, что HTML ограничивает размещение тегов, требуя, чтобы оба тега были вложены в другие теги или в главные теги документа. Вследствие чего, эти ученые считают HTML контейнерным языком, следующим иерархической модели[17] [2, 8].
XML обозначает расширяемый язык разметки и представляет собой мета-язык разметки, широко используемый в настоящее время. XML разработан консорциумом World Wide Web в комитете, возглавляемом Джоном Босаком. Основное предназначение XML — быть более простым, чем SGML и сфокусироваться на специфичной проблеме — документах в интернете. XML — мета-язык как SGML, пользователям разрешается создавать любые теги, какие необходимы. Становлению XML помогли, так как каждый XML-документ мог быть написан таким же способом, как и SGML-документ, а программы и пользователи, использующие SGML, могли перейти на XML достаточно легко[18].
Тем не менее, XML лишился многих ориентированных на людей особенностей языка SGML, упрощавших его использование. Другие улучшения исправляли некоторые проблемы SGML на международном уровне и делали возможным разбор документа иерархически, даже если не был доступен DTD.
XML был спроектирован, в основном, для не полностью структурированной среды, например, для документов и публикаций. Тем не менее, это привело к золотой середине между гибкостью и простотой, и он был быстро принят многими пользователями. В настоящее время XML широко используется для передачи данных между программами. Как HTML, он может быть охарактеризован как «контейнерный» язык[19] [2, 6].
Начиная с января 2000 года, все рекомендации для W3C были основаны на XML в большей степени, чем на SGML, была предложена аббревиатура XHTML, расшифровывающаяся как Расширяемый Гипертекстовый Язык Разметки. Спецификации языка требовали, чтобы XHTML-документы были оформлены как XML-документы, это позволяет использовать XHTML для более четких и точных документов, используя теги от обычного языка HTML[20].
Но, бесспорно, одним из самых достойных внимания различий между языками HTML и XHTML является правило, которое гласит, что все теги должны быть закрытыми: пустые теги, такие как, например <br />, должны быть оба закрыты стандартным закрывающим тегом или специальной записью: <br />. Пробел перед «/» в закрывающем теге является опциональным, но часто используется, поскольку его используют некоторые пре-XML браузеры, также SGML-парсеры. Другие атрибуты в тегах должны быть в кавычках. Наконец, все теги и имена атрибутов должны быть написаны в нижнем регистре, чтобы восприниматься правильно; HTML невосприимчив к регистру[21] [1, 2].