Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Виды языков гипертекстовой разметки

Содержание:

Введение

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

Интернет - мировая глобальная компьютерная сеть. Она составлена из разнообразных компьютерных сетей, объединенных стандартными соглашениями о способах обмена информацией и единой системой адресации. Интернет использует протоколы семейства TCP/IP. Они хороши тем, что обеспечивают относительно дешевую возможность надежно и быстро передавать информацию даже по не слишком надежным линиям связи, а также строить программное обеспечение, пригодное для работы на любой аппаратуре. Система адресации (URL-адреса) обеспечивает уникальными координатами каждый компьютер (точнее, практически каждый ресурс компьютера) и каждого пользователя Интернета, создавая возможность взять именно то, что нужно, и передать именно туда, куда нужно.

В 1994 году началась революция – World Wide Web. Всемирная паутина World Wide Web (WWW) соткана из Web-страниц, которые содержат в себе разную информацию в зависимости от тематики Web сайта. В основу Web был положен гипертекст (hypertext) – метод связывания блоков, или «страниц», данных, придуманный еще в шестидесятых годах. Однако только в девяностых годах Бернерс-Ли и его сотрудники перенесли концепцию гипертекста в Internet, создав HTTP – Hypertext Transfer Protocol (протокол передачи гипертекста). С появлением HTTP родился и World Wide Web.

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

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

  1. провести анализ понятия «гипертекст»;
  2. проанализировать историю развития гипертекста;
  3. провести анализ моделей гипертекста;
  4. изучить виды языков гипертекстовой разметки документов – синтаксис, структуру документов, основные элементы.
  5. провести анализ будущего Web-программирования.

Глава 1. Гипертекст

1.1 Понятие гипертекста

Гипертекстовая технология – это представление текста в виде многомерной иерархической структуры типа сети. [Бройдо, 2012, с. 237]

 Гипертекст формируется в результате представлений текста как ассоциативно связанных блоков информации. Ассоциативная связь – это соединение, сближение представлений, смежных, противоположных, аналогичных. Гипертекст значительно отличается от обычного текста. Обычные (линейные) тексты имеют последовательную структуру и предусматривают их чтение слева направо и сверху вниз. [Кирмайер, 2013, с. 241] Использование гипертекста позволяет фиксировать отдельные идеи, мысли, факты, а затем связывать их друг с другом, двигаясь в любых направлениях, определяемых ассоциативными связями.

Рассмотрим концепцию гипертекста.

Есть база данных, в базе данных находятся объекты. Объекты - это, чаще всего, небольшие текстовые разделы, посвященные тому или иному вопросу. Специальные механизмы и правила позволяют компьютеру поддерживать ссылки из одних текстовых фрагментов в другие. Человек или программный агент может устанавливать новые связи между текстовыми фрагментами. Система текстовых фрагментов или файлов с такой организацией получила название "гипертекст". [Кирмайер, 2013, с. 245]

Простейшим примером гипертекста является любой словарь или энциклопедия, где каждая статья имеет отсылки к другим статьям этого же словаря. В результате читать такой текст можно по-разному: от одной статьи к другой, по мере надобности, игнорируя гипертекстовые отсылки; читать статьи подряд, справляясь с отсылками; наконец, пуститься в гипертекстовое плавание, то есть от одной отсылки переходить к другой. [Симонович, 2011, с. 26]

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

Обработка гипертекста открыла новые возможности освоения информации, качественно отличающиеся от традиционных способов.

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

Обработке информации по правилам формального вывода в гипертекстовой технологии соответствует запоминание пути перемещения по гипертекстовой сети. [Кирмайер, 2013, с. 268]

Рассмотрим структуру гипертекстовой технологии.

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

Структурно гипертекст состоит из информационного материала, тезауруса гипертекста, списка главных тем и алфавитного словаря. [Кирмайер, 2013, с. 287]

Рассмотрим подробнее каждый из перечисленных пунктов.

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

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

Текст, включаемый в информационную статью, может сопровождаться пояснениями, примерами, документами, объектами реального мира. [Симонович, 2011, с. 37]

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

Тезаурус гипертекста можно представить в виде сети: в узлах находятся текстовые описания объекта (информационные статьи), ребра сети указывают на существование связи между объектами и на тип родства. [Симонович, 2011, с. 38]

Список главных тем содержит заголовки всех справочных статей, для которых нет ссылок типа род – вид, часть – целое. [Симонович, 2011, с. 39]

Алфавитный словарь включает в себя перечень наименований всех информационных статей в алфавитном порядке. [Симонович, 2011, с. 39]

К основным элементам гипертекстовой технологии относятся: [Кирмайер, 2013, с. 290]

- информационный фрагмент;

- тема;

- узлы;

- ссылки.

Информационный фрагмент гипертекста может представлять собой линейную последовательность строк текста, рисунок, видеофрагмент, аудиофрагмент. [Олифер, 2007, с. 324]

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

Узлом в гипертексте называется информационный фрагмент, из которого возможен переход к другим информационным фрагментам гипертекста. [Олифер, 2007, с. 341]

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

Референтные ссылки — это наиболее типичный вид ссылок в гипертекстах. Они, как правило, имеют два конца, обычно это направленные связи, хотя большинство гипертекстовых информационных систем поддерживает и обратное движение по ссылке. Исходный конец референтной ссылки называется «источник». Логически это отдельная точка или область в тексте. Другой конец называется «назначением» — это определенная точка или область в гипертексте. С источником ссылки связывается некоторая пометка, указывающая наличие ссылки, — она показывает имя ссылки, обычно изображается в виде последовательности символов и высвечивается как отдельная единица текста. Например, при щелчке по термину появится информационный фрагмент, разъясняющий значение этого термина. [Олифер, 2007, с. 359]

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

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

Наиболее известным примером гипертекста являются веб-страницы — документы HTML (язык разметки гипертекста) как они размещаются в Сети.

Современные программы разработки Web-серверов, такие как MS FrontPage или Web Pen для Windows, дают возможность даже новичку без всякого штудирования учебников легко создавать готовые странички. При этом cпециалист по созданию Web-сайтов, называемый Web-мастером, берет готовые файлы (тексты, таблицы, графику, базы данных, звук, анимацию, видеофильмы, программы) и с помощью кнопок и команд меню оформляет страницы сайта. Подобные программы, выполняя команды инструментальных и операционного меню, формируют гипертекст WWW-сервера.

Исходные текстовые, табличные и графические и другие объекты включаются в Web-site посредством тегов (tag = ярлык, этикетка). Тег - это последовательность символов, задающая

1) положение объекта на странице сайта,

2) внешний вид объекта или

3) связь данной страницы с другими страницами этого сайта, а также с любым другим сервером.

Тег называют также управляющим маркером, флагом. Программы типа Web Pen сами расставляют теги, поэтому пользователь таких программ может не знать языка разметки гипертекста (HTML = HyperText Markup Language).

1.2 История возникновения гипертекстовой разметки

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

Компьютерному гипертексту предшествует ручной, один из вариантов которого – традиционное использование карточек. Такие карточки можно нумеровать и снабжать взаимными ссылками. Их часто распределяют по рубрикам, т. е. им придается иерархическая организация (в некотором ящике или пакете). Удобство таких карточек состоит в том, что, имея небольшой размер, они разбивают записи на малые куски. Пользователь может легко реорганизовать картотеку с учетом новой информации. Но, конечно, с увеличением объема такой картотеки, работать с ней становится все труднее. [Дуванов, 2014, с. 23]

Другой вариант ручного гипертекста – это справочная книга, например, словарь и энциклопедия. Статьи или определения, даваемые в таких книгах, содержат явные ссылки друг на друга, последовав за этими ссылками, читатель получает более богатую информацию. Каждой такой книге можно поставить в соответствие сеть с текстовыми узлами и связями-ссылками. [Дуванов, 2014, с. 23]

Многие века существуют документы, где внутренние перекрестные ссылки и отсылки к другим документам образуют значительную долю содержания. Таковы, например, Талмуд с его обильным использованием аннотаций и встроенным в текст комментарием, а также сочинения Аристотеля, в которых ссылки на другие источники играют огромную роль. [Дуванов, 2014, с. 23]

Еще один важный пример – печатные издания Библии. В них текст каждой из ее книг-частей делится на главы, а те, в свою очередь, на стихи. Главы пронумерованы внутри каждой книги, стихи – внутри каждой главы. Стих может состоять из части грамматического предложения, одного целого предложения или нескольких фраз. В подлинном библейском тексте этого деления нет. Оно было сделано учеными-богословами для облегчения ссылок и цитат. К примеру, деление Нового Завета на стихи, ныне общепринятое, восходит к XVI веку. Согласно этому делению, Новый Завет (27 книг-частей) состоит из 260 глав и, суммарно по всем главам, из 7942 стихов. Гипертекст возникает здесь потому, что в современных изданиях Библии текст идет в сопровождении так называемых "параллельных мест", обычно в виде ссылок на полях. Каждая такая ссылка ставит в соответствие стиху, который идет рядом, "параллельные" стихи из этой же или других книг-частей Библии (даются координаты этих стихов). В комментариях объясняется, что "параллельные места" указывают на тождественные события и "созвучные выражения". Библейский текст, по существу, превращен в гипертекстовую сеть на узлах-стихах. Сеть имеет огромные размеры: если взять лишь ее новозаветную часть с ее внутренними "параллелями", то получилось бы почти 8 тыс. гипертекстовых узлов (из них, правда, многие не имели бы связей). [URL: http://info.cern.ch/hypertext/WWW/WhatIs.htm]

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

В 1945 году в своей статье “Как мы можем думать” (“As We May Think”) Ванневар Буш высказал идею машины для просмотра и пополнения записями документов, записанных на пленке. [URL: http://info.cern.ch/hypertext/WWW/WhatIs.htm]

Эта машина, получившая название “Memex”, никогда не была построена, но она содержала идею, которую позже назвали гипертекстом. [URL: http://info.cern.ch/hypertext/WWW/WhatIs.htm]

Информация, считал Буш, должна храниться в виде пленочных микрофильмов. Поэтому Memex имела устройство для чтения микрофильмов и устройство для записи микрофильмов с помощью процесса сухой фотографии. То есть Memex принципиально не была цифровым компьютером. [URL: http://hyperland.com/TNvita]

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

Однако главная особенность и новизна Memex состояла не в способах хранения информации, а в способе доступа к ней. Буш предложил механизм перекрестных ссылок, аналогичный тому, который используется в современном гипертексте. Ссылки Буш предлагал записывать во вспомогательных полях в теле документа, а в качестве средства навигации использовать нечто похожее на современный мультимедийный шлем. [URL: http://hyperland.com/TNvita]

Первую работающую гипертекстовую систему (она называлась NLS, от oN Line System) продемонстрировал в 1968 году Дуг Энгельбарт (Doug Engelbart, 1925 г.р.). [URL: http://hyperland.com/TNvita]

В 1989 году Тим Бернерс-Ли (Tim Berners-Lee, 1955 г.р.), работая над внутренней сетью организации CERN (Европейский совет по ядерным исследованиям в Женеве), предложил глобальный гипертекстовый проект, ныне известный как Всемирная паутина. [URL: http://info.cern.ch/hypertext/WWW/WhatIs.html]

В начале 1990-х Тим Бернерс-Ли и его коллеги создали язык HTML, на котором записываются современные гипертексты, то есть такие документы (распределенные по Сети), которые благодаря гиперссылкам можно просматривать по контексту. После создания языка HTML Web-технологии начали приобретать более четкий характер и бурное разностороннее развитие, поддерживаемое многочисленными компаниями в будущем, такими как: Google, Microsoft, Mozilla Foundation и пр.

1.3 Модели гипертекста

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

1.3.1 Узлы

Узел – это, пожалуй, важнейшее понятие гипертекстовых систем, ведь именно в форме узлов хранится информация, и представляется пользователю. Характеристики узла, существенные для гипертекстового пользователя (читателя или автора), – это тип информации, которая может быть сохранена, а также вместимость и объем каждого узла. [Дуванов, 2014, с. 23]

Некоторые гипертекстовые системы поддерживают только текст (NLS и ZOG), другие – таблицы и графику (HyperTIES, HyperCard, Guide). Также существуют механизмы интерпретации различных видов информации (например, видео) в рамках гипертекстовой сети (Intermedia, NoteCards).

Отметим, что недостаточно просто реализовать возможность показывать узлы мультимедиа. Каждый новый тип информации должен быть полностью интегрирован с гипертекстовой сетью системы, поэтому необходимо разработать методы создания связей между ними (например, связь между видео и текстом). В Intermedia и NoteCards это достигается сравнительно легко: они разрабатывались в расширяемых средах (объектно-ориентированный язык Cи и Lisp соответственно), отсюда – легкая встраиваемость в систему модулей, создающих гипертекстовую функциональность для новых видов информации.

Если рассматривать объемы узлов, то такие системы, как ZOG и HyperCard, поддерживают только узлы жестко фиксированной величины (объемом с экран), в то время как другие обладают более гибкими возможностями.

Узел на экране обычно дается в своем отдельном окне, при этом одновременно может быть открыто лишь несколько окон-узлов. Выполняются стандартные операции оконных систем. Отметим, что сами оконные системы, а также манипулятор мышь, были изобретены Дагласом Энгельбартом, для нужд его пионерской системы. [Дуванов, 2014, с. 23]

Объем узла, разбиение информации на узлы – серьезная проблема для автора гипертекста, который должен думать о восприятии смыслового содержания узла читателем. Предпочтительны узлы, обладающие внутренним смысловым единством (внутренней когерентностью). [Дуванов, 2014, с. 23]

1.3.2 Связи

Ключевое значение имеет способ реализации связей, поскольку именно связи обеспечивают "нелинейное ветвление" – сердцевину гипертекстовой функциональности. [Дуванов, 2014, с. 23]

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

Возможны два варианта статуса гипертекстовых связей. В первом варианте связи являются самостоятельными объектами, которыми пользователь может манипулировать напрямую; во втором — связи спрятаны в системе (возможно, как часть текста) и проявляются только тогда, когда пользователь каким-либо образом задействует их. [Дуванов, 2014, с. 23]

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

Связи первого статуса дают возможность включить в систему графического браузера — средства, с помощью которого сеть (граф из узлов и связей) отображается на экране. Без хранения межузловых связей невозможно говорить о графовой структуре сети. Поэтому лишь такие системы, как NoteCards, Intermedia и реализации HAM (Hypertext Absnract Machine), могут обеспечивать функциональность, необходимую для обработки сети как графа.

Связи второго статуса ("спрятанные") – спецификации адреса для перехода, и они существуют только в момент их активизации. Однако кнопки могут и не содержать таких инструкций, они будут целиком вставлены в программный код системы. Так как нет ясного соотношения между узлом и набором его связей в гипертекстовой сети, HyperCard не имеет средств для воздействия на сеть как целое. Хотя система и обеспечивает графическое представление последних посещенных карточек, но не поддерживает информацию об альтернативных маршрутах, по которым можно следовать. [Дуванов, 2014, с. 23]

В системах NLS, HyperTIES, ZOG адрес узла для перехода по связи хранится как часть текста или имя отдельно стоящей кнопки. Такие связи по своей природе однонаправленные, и позволяют осуществлять сквозной проход по документу, но при этом есть шанс оказаться в тупике (в узле, из которого не выходят связи). [Дуванов, 2014, с. 23]

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

Наиболее гибко эти проблемы были решены в Intermedia. В этой системе связи могут начинаться из любого фрагмента одного узла и заканчиваться в любом фрагменте другого. В Notecards и HyperCard, как и Memex, связь относится целиком к узлу-карточке. У NLS, ZOG, HyperTIES и Guide началом связи всегда служат некоторые слова и фразы. [Дуванов, 2014, с. 23]

1.3.3 Интерфейс пользователя

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

Рассмотрим различные варианты реализации интерфейса пользователя в обозреваемых гипертекстовых системах. Эти варианты отображают этапы развития интерфейса.

Все системы позволяли легко перемещаться по документу – путем скроллирования линейного документа (Intermedia, Guide) или движения по дереву иерархической структуры узлов, используя операции "следующий потомок" или "возврат к родителю" (ZOG, HyperCard).

Наиболее интересны вопросы того, как пользователь может распознать связь (каково ее визуальное представление), а также как эту связь можно активизировать? В разных системах эти вопросы решаются по-разному. В Memex информация о связях просто хранилась на специально отведенном пустом пространстве узла, что являлось сигналом читателю — какие-то элементы данного текста связаны с дополнительной информацией. Все остальные системы позволяли размечать информацию узла так, чтобы его части могли стать метками связей: у одних (ZOG, HyperTIES и Guide) это была подсветка соответствующего ключевого слова или фразы, у других (HyperCard, Intermedia, Notecards) – значки связей или кнопки, которые, как значки сноски (примечания), предупреждали читателя о существовании дополнительной информации, соотнесенной с данной.

Рассмотрим, как достигается возможность выбора связей в разлитых системах. В Memex и ZOG происходит соотнесение каждой данной связи с ключом клавиатуры (так, как это делается для меню). В Intermedia, Notecards, HyperCard и Guide вместо этого надо было указать на связь и "кликнуть" мышью. У HyperTIES иная модель (клавиатурная) — одна связь-точка остается подсвеченной, и эта подсветка перемещается от одной связи к другой под управлением курсорных стрелок. Когда нужная связь выбрана, пользователь активизирует ее с помощью некоторого другого ключа.

В NLS подобная операция также состоит из двух частей – выбрать и активизировать. Такой подход позволяет управлять как выбором, так и последующим действием (так называемый подход "selections and actions"). [Костов, 2013, с. 58]

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

1.3.4 Недостатки

При всех достоинствах, у гипертекста есть и несколько недостатков. Рассмотрим их.

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

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

В гипертекстовых системах были разработаны средства борьбы с этими недостатками. Например, Notecards и Intermedia позволяли многим узлам находиться на экране одновременно, в Intermedia разрабатывались графические браузеры, отображающие в отдельном окне структуру сети связей (локальные и глобальные карты). При этом существовала опасность утопить пользователя во множестве открытых окон с разнообразной информацией. [Костов, 2013, с. 57]

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

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

1.3.5 Пути и навигация

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

Прежде всего, в гипертексте изначально существует метафора прокладывания пользователем пути (тропы, трейла) в паутине гипертекстовых связей. Путь – это последовательность из узлов и связей, которые посещает пользователь. Это понятие выработал еще Ванневар Буш, имея в виду аналогию с процессами в мозгу человека: "Человеческий ум работает ассоциативно. Ухватив, поняв что-то, он сразу цепляется за следующее, что предлагается, подсказывается ассоциацией мыслей в соответствии с некоторой сложной паутиной трейлов, которые поддерживаются ячейками мозга".

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

У большинства гипертекстовых систем навигационную помощь предоставляют следующие средства:

  • Локальная карта.
  • Глобальная карта.
  • История (бэктрекинг).
  • Туры (проложенные маршруты).
  • Поиск (в совокупности гипертекстовых узлов).
  • Фильтры.
  • Индекс.
  • Закладки.

Рассмотрим подробнее каждое средство навигационной помощи.

Локальная карта. Это картинка всех связей и узлов, непосредственно связанных с текущим узлом. Она может быть графической (например, в виде блок-схемы) или текстовой (просто список). Локальные карты обеспечивают читателю контекст и помогают выбрать связь. [Дуванов, 2014, с. 23]

Глобальная карта. Это графическое представление полной сети из узлов и связей. Ввиду трудностей с отображением огромного числа связей, такие карты мало пригодны для реальных гипертекстов объемом свыше сотни узлов. Больше всех с ними экспериментировали разработчики Intermedia (Янкелович, Мейровиц, ван Дам). Локальные и глобальные карты в реальных гипертекстовых системах назывались "графическими браузерами". [Дуванов, 2014, с. 23]

История (бэктрекинг). Посещенные узлы и связи текущего трейла сохраняются и есть возможность вернуться в предыдущие узлы. [Дуванов, 2014, с. 23]

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

Поиск (в совокупности гипертекстовых узлов). Используются все достижения в области информационного поиска: булевские запросы, морфологический поиск, языки запросов и др.[Дуванов, 2014, с. 23]

Фильтры. Это возможность ограничения области навигации пределами задаваемого фильтром подмножества узлов и связей. Такие подмножества называются видами (views) и могут быть сохранены для последующего повторного доступа. [Дуванов, 2014, с. 24]

Индекс. Список подсвеченных слов, связей или узлов, упорядоченных по алфавиту, теме, автору, предмету и т. д. Индексы разрабатываются автором и имеют тот недостаток, что никак не учитывают точку зрения читателя на то, как он хочет использовать гипертекст. [Дуванов, 2014, с. 24]

Закладки. Читатель может сохранить (пометить) свою текущую позицию, чтобы вернуться к ней позже. [Дуванов, 2014, с. 24]

1.3.6 СМИСК

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

Расскажем об одном таком подходе, принадлежащем отечественным исследователям и направленном на преодоление проблемы навигации в гипертексте.

В этом подходе пользователь и система ведут в сети когерентную навигацию, подразумевается, что навигационная тропа должна быть подобна когерентному дискурсу (тексту, предложения которого вместе образуют смысловое единство). Это означает, что кроме локальной связности между парами узлов в тропе-трейле должна поддерживаться и некая глобальная связность, подчиненность разворачиванию некоторой темы, заданной начальным узлом тропы. [Олифер, 2007, с. 458]

Такая когерентная навигация, конечно, нужна не всегда. Например, человек, осуществляющий навигацию в гипертексте, может хаотически перемещаться по связям в надежде попасть на интересные факты, получить ответ на какой-то частный вопрос, когда найденные факты рассматриваются по отдельности, вне контекста. [Олифер, 2009, с. 368]

Однако есть и альтернативные виды человеческой активности при взаимодействии с гипертекстом, где такая навигация нужна. Это – браузинг по определенной тематике, или изучение какого-то предмета по материалу, собранному в сети, или же подготовка чернового варианта документа из узлов сети. [Олифер, 2009, с. 369]

Когерентная навигация реализована в системе СМИСК – российской разработке. В этой системе локальные переходы по связям в строящейся тропе-трейле происходят под так называемым макроконтролем, следящем за глобальной (тематической) связностью. Этот контроль базируется на иерархии подтем строящегося дискурса.

Иерархия реализована в форме интерактивного дерева, которое развертывается в тропу-дискурс.

Теоретически разработки СМИСК опираются на труды таких известных психолого-лингвистов, как ван Дийк, Кинч и Левельт. Результаты были представлены в докладе на гипертекстовой секции международной конференции "Восток-Запад" EWHCI'93.

Глава 2. Виды языков гипертекстовой разметки

В этой главе мы рассмотрим три языка гипе6ртекстовой разметки – SGML, HTML и XML.

С использованием гипертекстовой модели документа способ представления разнообразных информационных ресурсов в сети стал более упорядочен, а пользователи получили удобный механизм поиска и просмотра нужной информации. [Квинт, 2011, с. 149]

2.1 SGML

SGML — метаязык, на котором можно определять язык разметки для документов. SGML — наследник разработанного в 1969 году в IBM языка GML (Generalized Markup Language). [Брайн, 1997, с. 15]

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

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

Основные части документа SGML: [Брайн, 1997, с. 165]

  1. SGML-декларация — определяет, какие символы и ограничители могут появляться в приложении;
  2. Document Type Definition — определяет синтаксис конструкций разметки. DTD может включать дополнительные определения, такие, как символьные ссылки-мнемоники;
  3. Спецификация семантики, относится к разметке — также даёт ограничения синтаксиса, которые не могут быть выражены внутри DTD;
  4. Содержимое SGML-документа — по крайней мере, должен быть корневой элемент.

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

Пример синтаксиса SGML: [Брайн, 1997, с. 169]

<quote type="example">

typically something like <italics>this</italics>

</quote>

Языки HTML и XML произошли от SGML. HTML — это приложение SGML, а XML — это подмножество SGML, разработанное для упрощения процесса машинного разбора документа. Другими приложениями SGML являются SGML Docbook (документирование) и «Z Format» (типография и документирование).

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

Рассмотрим на примере различия описательной и процедурной разметки. Система описательной разметки использует коды разметки, просто предоставляющие названия для классификации частей документа. Коды, такие, как <para> или \end{list} просто идентифицируют часть документа и утверждают про нее: "следующий элемент - параграф" или "это - конец начатого последним списка" и т.д. Система процедурной разметки, напротив, определяет какая обработка должна производиться в конкретной точке документа: "здесь вызвать процедуру PARA с параметрами 1, b и x", или "сдвинуть левую границу на 2см влево, правую -- на 2см вправо, пропустить строку и встать на новую левую границу", и т.д. В SGML инструкции, необходимые для обработки документа с определенными целями (например, для его форматирования) четко отделяются от описательной разметки, встречающейся внутри документа. Обычно они собираются вне документа в отдельных процедурах или программах.

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

2.1.2 Типы документов

SGML вводит понятие типа документа и, как следствие, определения типа документа (document type definition, DTD). Тип документа формально определяется его составными частями и их структурой.

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

Таким образом, раз документы имеют известные типы, можно использовать специальную программу, называющуюся анализатором (parser), для проверки документа, утверждающего свою принадлежность определенному типу. Анализатор проверяет, что все элементы, требуемые типом документа, на самом деле присутствуют и расположены в правильном порядке. Что более важно, разные документы одного и того же типа могут обрабатываться одинаковым образом. Можно конструировать программы, использующие знание структуры документа, которые, таким образом, могут действовать в более осмысленной манере. [Брайн, 1997, с. 187]

2.1.3 Независимость данных

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

SGML предоставляет универсальный механизм строковой подстановки (string substitution), то есть, простой машинно-независимый способ обозначить, что некоторая последовательность символов в документе должна заменяться при его обработке некоторой другой последовательностью. Одно очевидное применение этого механизма -- обеспечение согласованности номенклатуры; другое, и более важное, -- противодействие печально известной неспособности различных компьютерных систем понимать наборы символов друг друга, или способ в любой системе предоставить все графические символы, необходимые для конкретного приложения, путем использования описательных обозначений непереносимых символов. Строки, определенные этим механизмом подстановки, называются объектами (entities).

В SGML слово объект (entity) несет специальный смысл: оно означает именованную часть размеченного документа, безотносительно ко всяческим соображениями структуры. Объектом может быть строка символов или целый файл текста. Для включения его в документ используется конструкция, известная как ссылка на объект (entity reference). [Брайн, 1997, с. 194]

2.1.4. SGML-структуры

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

Термин элемент (element) используется в стандарте SGML для текстовых единиц, рассматриваемых как структурные компоненты. Различным типам элементов даются различные названия, но SGML не предлагает никаких способов выразить значение конкретного типа элементов, кроме его отношения к другим типам элементов. То есть, все, что можно сказать про элемент, называющийся (например) <blort>, -- это то, что его экземпляры могут встречаться (а могут и не встречаться) внутри элементов типа <farble>, и что он может раскладываться (а может и не раскладываться) на элементы типа <blortette>.

Следует также отметить, что стандарт SGML совершенно не заботит семантика текстовых элементов: она зависит от приложения. Дело создателей SGML-совместимых наборов разметок -- выбрать осмысленные имена идентификаторов элементов и документировать правильное их использование в разметке текстов. От необходимости выбора названий элементов, кодирующих их функцию, происходит технический термин для названия типа элемента: обобщенный идентификатор (generic identifier), или GI. [Брайн, 1997, с. 217]

В размеченном тексте (экземпляре документа, document instance) каждый элемент должен быть явно размечен, или отмечен, некоторым образом. Стандарт предоставляет несколько разных способов сделать это. Наиболее часто используемый из них -- вставить метку (tag) в начале элемента (открывающая метка, start-tag) и еще одну -- в конце элемента (закрывающая метка, end-tag). Пара открывающей и закрывающей меток используется для выделения элементов в тексте, так же, как разные скобки или кавычки используются в обычной пунктуации. Например, элемент цитирования может быть отмечен в тексте так: [Брайн, 1997, с. 238]

реплика Розалинды <quote>Ничего глупее я никогда не

слышала!</quote> ясно показывает ...

Как показывает данный пример, открывающая метка имеет вид <название>, где открывающая угловая скобка означает начало открывающей метки, "название" -- обобщенный идентификатор отмечаемого элемента, и закрывающая угловая скобка означает конец метки. Закрывающая метка имеет аналогичный вид, за исключением того, что за открывающей угловой скобкой стоит символ косой черты, так что соответствующая закрывающая метка будет </название>. [Брайн, 1997, с. 240]

Элемент может быть пустым (empty), то есть, не содержать внутри вообще ничего; элемент может содержать просто текст. Чаще, однако, элементы одного типа будут целиком содержаться (embed) внутри элементов другого типа. [Брайн, 1997, с. 241]

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

Далее рассмотрим формальную спецификацию структуры SGML документа или определение типа документа, обычно сокращаемого как DTD. При создании DTD можно задать произвольно жесткую или сколь угодно гибкую структуру. Необходимо найти компромисс между удобством следования простым правилам и сложностью поддержки реальных текстов. Важно помнить, что каждое определение типа документа является интерпретацией текста. Не существует единственного DTD, охватывающего все сведения о тексте, хотя может быть удобно предпочитать одни DTD другим для конкретных типов анализа. [Брайн, 1997, с. 244]

В настоящее время SGML шире всего применяется там, где основным требованием является единообразие структуры документов. Например, при производстве технической документации весьма важно, чтобы разделы и подразделы были соответствующим образом вложены, перекрестные ссылки были корректны, и так далее. В таких ситуациях к документам относятся как к сырому материалу, к которому применяется заранее определенный набор правил. Однако, использование простых правил может также сильно упростить задачу аккуратной разметки элементов и менее ограниченных текстов. Делая такие правила явными, уменьшается работу по разметке и проверке электронного текста, в то же время выявляется интерпретация структуры и значимые особенности кодируемого текста. [Брайн, 1997, с. 102]

Вторая часть описания задает правила минимизации для элемента. Эти правила определяют, обязаны ли присутствовать открывающая и закрывающая метки для каждого появления данного элемента. Они имеют вид пары символов, разделенных пробелом, первый из которых относится к открывающей, а второй -- к закрывающей метке. В обоих случаях должны присутствовать или минус или буква O; минус означает, что метка должна присутствовать, а буква O -- что она может быть опущена. [Брайн, 1997, с. 443]

Третья часть каждого описания, заключенная в круглые скобки, называется моделью содержимого элемента, потому что она указывает, что могут содержать экземпляры элемента. Содержимое указывается либо в терминах других элементов, либо при помощи специальных зарезервированных слов. Есть несколько таких зарезервированных слов, из которых самое часто используемое -- #PCDATA. Это сокращение от parsed character data (разобранные символьные данные), и оно означает, что описываемый элемент может включать любые разрешенные символьные данные. Если представить себе SGML описание в виде структуры наподобие генеалогического дерева, с одним предком наверху, то почти всегда, если следовать по ветвям дерева вниз, мы придем к #PCDATA. [Брайн, 1997, с. 444]

В синтаксисе SGML есть три обозначения включения (occurence indicator), обычно представленных знаком плюс, вопросительным знаком и звездочкой. (Так же, как и ограничители, эти знаки имеют формальные наименования и могут быть переопределены соответствующим SGML описанием.) Знак плюс означает, что соответствующий элемент может встречаться один или более раз; вопросительный знак означает, что может быть не более одного элемента; звездочка означает, что элемент может или отсутствовать, или появляться один и более раз. [Брайн, 1997, с. 445]

Если модель содержит больше одного компонента нужно дополнительно указать порядок, в котором эти элементы могут появляться. Это упорядочение определяется связкой (group connector) -- запятой -- использованным между ее компонентами. Существуют три возможных связки, обычно представляемых запятой, вертикальной чертой и знаком "&". (Так же, как ограничители и обозначения включения, связки имеют в стандарте формальные имена и могут быть переопределены соответствующим SGML описанием.) [Брайн, 1997, с. 455]

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

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

2.2 HTML

HTML — стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML (или XHTML). Язык HTML интерпретируется браузерами; полученный в результате интерпретации форматированный текст отображается на экране монитора компьютера или мобильного устройства.

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

HTML является упрощенной версией стандартного общего языка разметки - SGML (Standart Generalised Markup Language.

Язык HTML был разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1986—1991 годах в стенах ЦЕРНа в Женеве в Швейцарии. HTML создавался как язык для обмена научной и технической документацией, пригодный для использования людьми, не являющимися специалистами в области вёрстки. HTML успешно справлялся с проблемой сложности SGML путём определения небольшого набора структурных и семантических элементов — дескрипторов. Дескрипторы также часто называют «тегами». С помощью HTML можно легко создать относительно простой, но красиво оформленный документ. Помимо упрощения структуры документа, в HTML внесена поддержка гипертекста. Мультимедийные возможности были добавлены позже.[Олифер, 2007, с. 83]

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

2.2.1 Структура HTML-документа

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

<p>Текст между двумя тегами - открывающим и закрывающим.</p>

<a href="http://www.example.com">Здесь элемент содержит атрибут href.</a>

А вот пример пустого элемента: <br>

Каждый HTML-документ, отвечающий спецификации HTML, начиная с версии HTML5, обязан начинаться со строки декларации версии HTML <!DOCTYPE html>.

Далее обозначается начало и конец документа тегами <html> и </html> соответственно. Внутри этих тегов должны находиться теги заголовка (<head></head>) и тела (<body></body>) документа.

2.2.2 Основные элементы

Теги и их параметры нечувствительны к регистру. То есть <A HREF="http://example.com"> и <a href="http://example.com"> означают одно и то же.

В последних версиях HTML практически у каждого тега огромное число необязательных параметров — обычно не меньше 15. Приведем основные.

Гиперссылки [Квинт, 2011, с. 187]

В HTML элемент <a> предназначен для создания ссылок.

<a href="filename" target="_self">название ссылки</a>

Поясним каждую составляющую тега.

  • Атрибут href задает значение адреса документа, на который указывает ссылка.
  • filename — имя файла или адрес Internet, на который необходимо сослаться.
  • название ссылки — название гипертекстовой ссылки, которое будет отображаться в браузере, то есть показываться тем, кто зашел на страницу.
  • target — задает значение окна или фрейма, в котором будет открыт документ, на который указывает ссылка. Возможные значения атрибута:
    • _top — открытие документа в текущем окне;
    • _blank — открытие документа в новом окне;
    • _self — открытие документа в текущем фрейме;
    • _parent — открытие документа в родительском фрейме.

Значение по умолчанию: _self.

Тот же элемент используется для создания так называемых «якорей» (anchor), которые могут потом использоваться в гиперссылках, направленных на какой-то определённый элемент страницы. Например:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Якорь внутри документа</title>

</head>

<body>

<p><a name="top"></a></p>

<p>текст</p>

<p><a href="#top">Наверх</a></p>

</body>

</html>

Аналогичным образом якорь можно сделать на закладку, находящуюся на другой веб-странице или на другом сайте: там, куда направлена ссылка, должен стоять <a name="xxx"></a>, а там, откуда идёт ссылка, к значению href добавляется знак решётки и название якоря.

Текстовые блоки [Квинт, 2011, с.13]

Рассмотрим основные элементы, отвечающие за расположение текста.

  • <H1> … </H1>, <H2> … </H2>, … ,<H6> … </H6> — заголовки 1, 2, … 6 уровня. Используются для выделения частей текста (заголовок 1 — самый крупный, 6 — самый мелкий).
  • <P> — новый абзац. Можно в конце абзаца поставить </P>, но это не обязательно.
  • <BR> — новая строка. Этот тег не закрывается (то есть не существует тега </BR>)
  • <HR> — горизонтальная линия
  • <BLOCKQUOTE> … </BLOCKQUOTE>  — цитата. Обычно текст сдвигается вправо.
  • <PRE> … </PRE>  — режим preview (preformatted text). В этом режиме текст заключается в рамку и никак не форматируется (то есть теги, кроме </PRE>, игнорируются, и переводы строки ставятся там, и только там, где они есть в оригинальном документе).
  • <DIV> … </DIV>  — блок (обычно используется для применения стилей CSS)
  • <SPAN> … </SPAN>  — строка (обычно используется для применения стилей CSS)

Форматирование текста [Квинт, 2011, с. 209]

Рассмотрим основные элементы, позволяющие форматировать текст.

  • <EM> … </EM>  — логическое ударение (обычно отображается курсивным шрифтом)
  • <STRONG> … </STRONG>  — усиленное логическое ударение (обычно отображается жирным шрифтом)
  • <I> … </I>  — выделение текста курсивом
  • <B> … </B>  — выделение текста жирным шрифтом
  • <U> … </U>  — подчёркивание текста
  • <S> … </S> (или <STRIKE> … </STRIKE> )— зачёркивание текста
  • <BIG> … </BIG>  — увеличение шрифта
  • <SMALL> … </SMALL>  — уменьшение шрифта
  • <BLINK> … </BLINK>  — мигающий текст.
  • <MARQUEE> … </MARQUEE>  — сдвигающийся по экрану текст.
  • <SUB> … </SUB>  — подстрочный текст. Например, H<SUB>2</SUB>O создаст текст H2O.
  • <SUP> … </SUP>  — надстрочный текст. Например, E=mc<SUP>2</SUP> создаст текст E=mc2.
  • <FONT параметры> … </FONT> — контейнер для изменения характеристик шрифта, таких как размер, цвет и гарнитура. Хотя этот тег до сих пор поддерживается всеми браузерами, он считается устаревшим и от его использования рекомендуется отказаться в пользу стилей.

Списки [Квинт, 2011, с. 146]

Рассмотрим различные варианты организации списков.

<UL>

<LI> первый элемент </LI>

<LI> второй элемент </LI>

<LI> третий элемент </LI>

</UL>

создаёт список

  • первый элемент
  • второй элемент
  • третий элемент

Если вместо <UL> (Unordered List — ненумерованный список) поставить <OL> (Ordered List — нумерованный список), список получится нумерованным:

  1. первый элемент
  2. второй элемент
  3. третий элемент

У этих тегов есть параметры:

type = "тип"

где тип — форма: в <UL>  — символов

  1. square — квадрат
  2. circle — окружность
  3. disk — круг: по умолчанию

а в <OL>  — цифр или букв

  • A или а (латинскими буквами) — буквенный список: соответственно заглавыми или строчными буквами
  • I или i — римские цифры: соответственно заглавными или строчными буквами

Объекты [Квинт, 2011, с. 96]

  • OBJECT – вставка различных объектов.
  • SCRIPT — вставка скриптов.

Изображения [Квинт, 2011, с. 354]

  • IMG — вставка изображения. Этот тег не закрывается.

Рассмотрим различные атрибуты этого элемента.

    • SRC — имя или URL
    • ALT — альтернативное имя (отобразится, если в браузере запретить отображать картинки)
    • TITLE — краткое описание изображения (отобразится при наведении курсора на картинку)
    • WIDTH, HEIGHT — размеры (если не совпадают с истинными размерами картинки, то изображение «растянется» или «сожмется»)
    • ALIGN — задает параметры обтекания текстом (top, middle, bottom, left, right)
    • VSPACE, HSPACE — задают размеры вертикального и горизонтального пространства вокруг изображения

Пример:

<IMG SRC=url ALT="текст" TITLE="текст" WIDTH="размер (пикс, %)" HEIGHT="размер (пикс, %)">

Изображение также можно сделать ссылкой:

<A HREF=url ><IMG SRC=url></A>

2.3 XML

XML — рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий собой свод общих синтаксических правил. XML предназначен для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML), иногда называемых словарями. XML является упрощённым подмножеством языка SGML.[Холзнер, 2010, с. ]

Целью создания XML было обеспечение совместимости при передаче структурированных данных между разными системами обработки информации, особенно при передаче таких данных через Интернет. Словари, основанные на XML (например, RDF, RSS, MathML, XHTML, SVG), сами по себе формально описаны, что позволяет программно изменять и проверять документы на основе этих словарей, не зная их семантики, то есть не зная смыслового значения элементов. Важной особенностью XML также является применение так называемых пространств имён (namespace). [Холзнер, 2010, с. 105]

2.3.1 Достоинства XML

Перечислим основные достоинства языка XML. [Холзнер, 2010, с. 164]

  • XML(человеко-ориентированный) — это формат, одновременно понятный и человеку и компьютеру;
  • XML поддерживает Юникод;
  • в формате XML могут быть описаны основные структуры данных — такие как записи, списки и деревья;
  • XML — это самодокументируемый формат, который описывает структуру и имена полей также как и значения полей;
  • XML имеет строго определённый синтаксис и требования к парсингу, что позволяет ему оставаться простым, эффективным и непротиворечивым.
  • XML также широко используется для хранения и обработки документов как он-лайн, так и офф-лайн:
  • XML — формат, основанный на международных стандартах;
  • иерархическая структура XML подходит для описания практически любых типов документов;
  • XML представляет собой простой текст, свободный от лицензирования и каких-либо ограничений;
  • XML не зависит от платформы;
  • XML является подмножеством SGML (который используется с 1986 года). Уже накоплен большой опыт работы с языком и созданы специализированные приложения.
  • XML не накладывает требований на расположение символов на строке

2.3.2 Недостатки XML

Так же у языка XML есть следующие недостатки. [Холзнер, 2010, с. 187]

  • Синтаксис XML избыточен.
    • Размер XML документа существенно больше бинарного представления тех же данных. В грубых оценках величину этого фактора принимают за 1 порядок (в 10 раз).
    • Размер XML документа существенно больше, чем документа в альтернативных текстовых форматах передачи данных (например JSON) и особенно в форматах данных оптимизированных для конкретного случая использования.
    • Избыточность XML может повлиять на эффективность приложения. Возрастает стоимость хранения, обработки и передачи данных.
    • Для большого количества задач не нужна вся мощь синтаксиса XML и можно использовать значительно более простые и производительные решения
  • XML не содержит встроенной в язык поддержки типов данных. В нём нет понятий «целых чисел», «строк», «дат», «булевых значений» и т.д.
  • Иерархическая модель данных, предлагаемая XML, ограничена по сравнению с реляционной моделью и объектно-ориентированными графами
    • Выражение не иерархических данных (например, графов) требует дополнительных усилий
    • Кристофер Дейт отмечал, что «…XML является попыткой заново изобрести иерархические базы данных…» (в 1980-е года иерархические базы данных были вытеснены реляционными базами данных).
  • Пространства имён XML сложно использовать и их сложно реализовывать в XML парсерах
  • Существуют другие, обладающие сходными с XML возможностями, текстовые форматы данных, которые обладают более высоким удобством чтения человеком (YAML, JSON, SweetXML). Также в последнее время очень большое распространение получил формат fb2.

2.3.3 Принцип построения XML-документа

В общем случае XML-документы должны удовлетворять следующим требованиям: [Холзнер, 2010, с. 287]

  1. В заголовке документа помещается объявление XML, в котором указывается язык разметки документа, номер его версии и дополнительная информация
  2. Каждый открывающий тэг, определяющий некоторую область данных в документе обязательно должен иметь своего закрывающего "напарника", т.е., в отличие от HTML, нельзя опускать закрывающие тэги
  3. В XML учитывается регистр символов
  4. Все значения атрибутов, используемых в определении тэгов, должны быть заключены в кавычки
  5. Вложенность тэгов в XML строго контролируется, поэтому необходимо следить за порядком следования открывающих и закрывающих тэгов
  6. Вся информация, располагающаяся между начальным и конечными тэгами, рассматривается в XML как данные и поэтому учитываются все символы форматирования ( т.е. пробелы, переводы строк, табуляции не игнорируются, как в HTML)

Конструкции языка [Холзнер, 2010, с. 258]

Содержимое XML-документа представляет собой набор элементов, секций CDATA, директив анализатора, комментариев, спецсимволов, текстовых данных.

Пример XML-документа:

<conservatory>

<flower>rose</flower>

<flower>tulip</flower>

<flower>cactus</flower>

</conservatory>

Элементы [Холзнер, 2010, с. 264]

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

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

<flower>rose</flower>

<city>Novosibirsk</city>

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

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

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

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

В случае, если элемент не имеет содержимого, то есть нет данных, которые он должен определять, то он называется пустым. Примером пустых элементов в HTML могут служить такие тэги HTML, как <br> <hr>, <img>. Необходимо только помнить, что начальный и конечные тэги пустого элемента как бы объединяется в один, и надо обязательно ставить косую черту перед закрывающей угловой скобкой (например, <empty/>;)

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

Секция CDATA используется для того, чтобы обозначить части документа, которые не должны восприниматься как разметка. Секция CDATA начинается со строки '<![CDATA[' и заканчивается строкой ']]>'. Внутри самой секции не должна присутствовать строка ']]>'.

Секция CDATA:

<example> <![CDATA[ <aaa>bb&cc<<<]]> </example>

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

Глава 3. Будущее гипертекстовой разметки

В настоящий момент актуальным стеком технологий для верстки сайтов являются языки HTML5 и CSS3.

3.1 Язык гипертекстовой разметки HTML5

HTML5 – это пятая версия языка HTML.

HTML5 вводит несколько новых элементов и атрибутов, которые отражают типичное использование разметки на современных веб-сайтах. Некоторые из них — семантические замены для использования универсальных блочных (<div>) и строчных (<span>) элементов, например, <nav> (блок навигации по сайту), <footer> (обычно относится к нижней части страницы или последней строке HTML кода) или <audio> и <video> вместо <object>. Некоторые устаревшие элементы, которые можно было использовать в HTML 4.01, были исключены, включая чисто оформительские элементы, такие как <font> и <center>, чьи эффекты выполняются с помощью каскадных таблиц стилей. Также в поведении веб снова заострено внимание на важности скриптов DOM (например, Javascript).[Сухов, 2013, с. 16]

Синтаксис HTML5 больше не базируется на SGML, несмотря на подобие его разметки. Однако он был разработан обратно совместимым с обычным парсингом более старых версий HTML. В HTML5 применяется новая вводная строка, которая выглядит как объявление типа документа в SGML, <!DOCTYPE html>, запускающая соответствующий стандартам режим рендеринга. С 5 января 2009 года HTML5 также включает в себя Web Forms 2.0, ранее бывшие отдельной спецификацией WHATWG.

В дополнение к определению разметки HTML5 устанавливает API, который может быть использован с JavaScript. Возможности DOM расширены и фактически используемые свойства задокументированы. Также добавлены новые API, например: [Сухов, 2013, с. 20]

  • элемент холст для непосредственного метода рисования в 2D. См. спецификацию Canvas 2D API Specification 1.0;
  • контроль над проигрыванием медиафайлов, который может использоваться, например, для синхронизации субтитров с видео;
  • хранение данных в браузере;
  • редактирование документа: загрузка на страницу через выбор (тег <input type="file">) или перетаскиванием (Drag-and-drop)
  • Drag-and-drop: предоставляет набор событий для каждого элемента DOM, таких как появление и нахождение в его зоне, благодаря которым разработчик может информировать пользователя о необходимых действиях и идентификаторе перетаскиваемого файла, содержащего адрес, имя, тип, размер и дату изменения;
  • управление историей браузера;
  • тип MIME и регистрация обработчика протокола;
  • микроданные.

Не все выше перечисленные технологии включены в спецификацию W3C HTML5, хотя они есть в спецификации WHATWG HTML. Немного связанных технологий, которые не являются частью ни одной из спецификаций, следуют далее. W3C публикует спецификации для них отдельно: [Сухов, 2013, с. 26]

  • геолокация;
  • база данных SQL для Web, внутренняя база данных (больше не поддерживаемая);
  • Индексированная база данных (IndexedDB) API, индексирование по типу ключ-значение (прежде — WebSimpleDB);
  • Файл API, дескриптор обновления файлов и управления ими;
  • Работа с системой. Этот API предназначен для того, чтобы обеспечить хранение информации со стороны клиента без управления базами данных;
  • Запись в файл, использование API для записи в файл информации из приложения.

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

3.2 Каскадные таблицы стилей

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

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

Современное поколение каскадных таблиц стилей – CSS3, обладает огромным множеством возможностей для создания анимированного сайта без использования Javascript. [Квинт, 2011, с. 345]

3.3 Выводы о будущем языков гипертекстовой разметки документов.

Использование стека HTML5+CSS3 для верстки сайтов приобрело большую популярность. Данная комбинация технологий идеально подходит для разметки современных сайтов. Однако консорциум W3C на данном этапе не останавливается. Языки HTML5+CSS3 будут пока и дальше поддерживаться, развиваться, но, скорее всего, только в ближайшие 5-10 лет. Это связано с решением W3C создать новые, «идеальные» языки для разработки сайтов. Следующим поколением станут: HTML6 и CSS4. HTML6 предполагает создание одностраничных веб-приложений без использования технологий Javascript. Соответственно синтаксис данного языка будет значительно отличаться от предыдущего поколения – HTML5. Язык CSS4 будет создан с учетом синтаксиса нового HTML6. Но пока оба языка – HTML6 и CSS4 ещё в активной разработке и будут доступны для массового применения нескоро. Хотя, у W3C уже имеются готовые заготовки, которые веб-разработчики могут опробовать уже сейчас, но не все браузеры будут их поддерживать. [URL: https://lists.w3.org/Archives/Public/public-whatwg-archive/2015Mar/0071.html]

Заключение

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

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

Расширение понятия гипертекста происходит за счет других информационных ресурсов, включая графику, аудио- и видео-информацию, до понятия гипермедиа.

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

- двунаправленный характер ссылок, по сравнению с направленными только вперед ссылками обычных текстов;

- комментарии к тексту могут быть сделаны в самом тексте, не нарушая в то же время его целостность;

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

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

Но при всем многообразии преимуществ прослеживается и ряд недостатков:

- у пользователя теряется ощущение собственного положения и движения в многомерном документе и появляется дополнительная умственная нагрузка для выбора оптимального пути изучения материала;

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

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

В ходе курсовой работы был проведен всесторонний анализ языков гипертекстовой разметки документов. Были решены следующие задачи:

1) проведен анализ понятия «гипертекст»;

2) проанализирована история развития гипертекста;

3) проведен анализ моделей гипертекста;

4) изучены виды языков гипертекстовой разметки документов – синтаксис, структуру документов, основные элементы.

5) провести анализ будущего Web-программирования.

Таким образом, цель данной курсовой работы «обзор языков гипертекстовой разметки» была достигнута

Библиография

  1. Бройдо В.Л. Вычислительные системы, сети и телекоммуникации СПб, Питер 2012- 464 с.
  2. Информатика /под редакцией С.В.Симоновича. СПб, Питер 2011- 400 с.
  3. Кирмайер М. Информационные технологии. СПб.: Питер, 2013 – 443 с.
  4. Мэтьюз Дж. Web – сервер. СПб.: Символ, 2008 – 356 с.
  5. Олифер В. Г., Олифер Н.А. Компьютерные сети. СПб.: Питер, 2007 – 864 с
  6. Олифер В. Г., Олифер Н.А. Сетевые операционные системы. СПб.: Питер, 2009 – 539 с.
  7. Сайт «HyperText», What is HyperText. CERN. Проверено 20 октября 2015. URL: http://info.cern.ch/hypertext/WWW/WhatIs.html (Дата обращения: 18.08.2019)
  8. Тед Нельсон. Curriculum Vitae: Theodor Holm Nelson, PhD (англ.). Сайт Теда Нельсона. Проверено 20 октября 2015. URL: http://hyperland.com/TNvita (Дата обращения: 18.08.2019)
  9. Юлия Шатилова. Какой была бы альтернативная Сеть? Грезы о цифровой вселенной знаний (рус.)(недоступная ссылка — история) (13 августа 2012 года, 16:02). Проверено 20 октября 2015. Архивировано из первоисточника 25 августа 2012.
  10. Тед Нельсон. What's On My Mind (англ.). Сайт проекта Xanadu (Тед Нельсон — автор проекта). Проверено 20 октября 2015. URL: http://www.xanadu.com.au/ted/zigzag/xybrap.html (Дата обращения: 21.08.2019)
  11. Ted Nelson. Literary Machines. — Edition 87.1. — 2007.
  12. "Complex information processing: a file structure for the complex, the changing and the indeterminate" in Association for Computing Machinery: Proceedings of the 20th National Conference. Ed. Lewis Winner: 84100, Cleveland (Canada): ACM. DOI:10.1145/800197.806036
  13. Дуванов А.А., История гипертекста // Информатика – 1 сентября. - 2014. - №4. - С.23-24.
  14. Костов Д.А., История гипертекста // Эврика – 2013. - №7. – С. 56-60
  15. Квинт И.. HTML, XTML и CSS. СПб.: Питер, 2011 – 382 с.
  16. Брайн М. SGML and HTML Explained. Addison Wesley, 1997 – с. 584
  17. Холзнер С. XML Энциклопедия. Спб.: Питер, 2010 – с. 1092
  18. Сухов К. HTML5. Путеводитель по технологии.
  19. Сайт консорциума W3C. URL: https://lists.w3.org/Archives/Public/public-whatwg-archive/2015Mar/0071.html (Дата обращения: 26.08.2019)