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

Гипертекстовая разметка,её языки

Содержание:

Введение

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

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

Цель курсовой работы:

- Раскрыть историю создания и основные сведения о следующих языках гипертекстовой разметки: SGML, HTML, XML, XHTML.

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

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

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

Пионерами гипертекста помимо Ванневара Буш, выдвинувшего концепцию системы Memex в 40-е годы, также являются Даглас Энгельбарт и Теодор Нельсон, работавшие над этой технологией в 60-е. Сам термин "гипертекст" придумал Тед Нельсон в 1965 г.

Классическое определение гипертекста, которое дал Нельсон в 1987 г., – это "форма письма, которое ветвится или осуществляется по запросу". Иначе говоря, это "нелинейное письмо", которое "больше чем текст" (hypertext).

1.2. Гипертекст. Понятие гипертекста

Обычно любой текст представляется как одна строка символов, определённой длины, которая читается в одном направлении. Гипертекстовая технология заключается в том, что текст представляется как многомерный, что означает с иерархической структурой типа сети. Текст делится на фрагменты. Каждый видимый на экране ЭВМ фрагмент, дополненный многими связями с другими фрагментами, позволяет уточнить информацию об изучаемом объекте и двигаться в одном или множестве направлений по выбранной связи.

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

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

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

По структуре гипертекст состоит из информационного материала, списка главных тем, алфавитного словаря и тезауруса гипертекста.[1]

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

Тезаурус гипертекста - это автоматизированный словарь, предназначенный для поиска слов по их смысловому содержанию, отображающий близкие отношения между лексическими единицами дескрипторного информационно-поискового языка. Термин тезаурус был придуман в XIII в. флорентийцем Б. Лотики для названия энциклопедии. С латыни это слово переводится как богатство, сокровище, запас. Тезаурус гипертекста состоит, из тезаурусных статей. Тезаурусная статья имеет заголовок и список заголовков родственных тезаурусных статей, где указаны заголовки и тип родства тезаурусных статей. Заголовок тезаурусной статьи совпадает с названием информационной статьи и является наименованием объекта, описание которого содержится в информационной статье. В отличие от стандартных тезаурусов-дескрипторов тезаурус гипертекста содержит не только простые, но и составные наименования объектов. Формирование тезаурусной статьи гипертекста означает индексирование текста. Полнота связей, отражаемых в тезаурусной статье, и точность установления этих Связей в конечном итоге определяют полноту и точность поиска при обращении к данной статье гипертекста. Существуют следующие типы родства или отношений: род – вид, вид - род, процесс – предмет, предмет - процесс, целое - часть, часть- целое, следствие – причина, причина- следствие и т. д. Пользователь получает более общую информацию по родовому типу связи, а по видовому - специфическую информацию без повторения общих сведений из родовых тем. Тем самым глубина индексирования текста зависит от родовидовых отношений. Список заголовков родственных тезаурусных статей представляет собой локальный справочный аппарат, в котором указываются ссылки только на ближайших родственников. Тезаурус гипертекста можно представить в виде сети: в узлах находятся текстовые описания объекта (информационные статьи), ребра сети указывают на существование связи между объектами и на тип родства. В гипертексте поисковый аппарат не делится на тезаурус и массив поисковых образов—документов, как в обычных информационно-поисковых системах. В гипертексте весь поисковый аппарат реализуется как тезаурус гипертекста.

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

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

Гипертексты, составленные вручную, используются давно, это энциклопедии, справочники, а также словари с развитой системой ссылок. Область применения гипертекстовых технологий обширна. Это обучающие системы, разработка документации, издательская деятельность, библиотечная работа, законов, справочных руководств, баз данных, баз знаний и другие. Наиболее распространенными системами являются HyperStudio, HyperCard, SuperCard, QuickTime фирмы Apple для персональных компьютеров платформы «Макинтош», Linkway - для IBM; отечественные -FLEXIS II 2.05, автоматизированная система формирования и обработки гипертекста АСФОГ [19] и другие. В большинстве современных программных продуктов вся помощь основана на использовании гипертекстовой технологии на базе меню.

Фирма Microsoft выпустила программу Microsoft Assistant for Word для создания и редактирования гипертекстовых документов на языке HTML и конвертирования файлов WinWord в формат HTML.[2]

HyperCard - первый продуманный и удобный авторский инструмент для работы с Multimedia, поскольку имеет аппарат ссылок на текст, видео- и аудиоматериалы, цветную графику.[3]

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

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

Узлы:

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

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

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

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

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

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

Связи:

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

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

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

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

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

Связи второго статуса (“спрятанные”) — есть просто спецификации адреса для перехода и существуют только в момент их активизации. Например, связи в HyperCard — это кнопки, содержащие инструкцию “иди к карточке № 42106” (или что-то подобное). Однако кнопки могут и не содержать таких инструкций, они будут целиком вставлены в программный код системы. Так как нет ясного соотношения между узлом и набором его связей в гипертекстовой сети, HyperCard не имеет средств для воздействия на сеть как целое. Хотя система и обеспечивает графическое представление последних посещенных карточек, не поддерживается информация об альтернативных маршрутах, по которым можно следовать.

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

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

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

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

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

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

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

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

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

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

В NLS подобная операция также состоит из двух частей — выбрать и активизировать. Такой подход позволяет управлять как выбором, так и последующим действием (так называемый подход “selections and actions”).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.1 Основные сведения о SGML

2.1.1. История SGML

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

Создатели системы сочли единственно верным решение «отделить мух от котлет» — то есть четко разграничить логическую структуру документа, с одной стороны, и его оформление, с другой.

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

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

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

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

Язык, соответствующий всем вышеозначенным концепциям и получивший название GML (Generalized Markup Language), был создан в 1969 г.

В 1974 г. Гольдфарб доказал, что допустимость документа можно проверять, не обрабатывая его. Это послужило стимулом к дальнейшей работе над проектом — разработчики значительно расширили свой первоначальный замысел, замахнувшись на статус промышленного стандарта для хранения текстовых документов. В 1986 г. ISO приняла язык GML в качестве международного стандарта, и в его названии закономерно появилась буква «S». Десятью годами позже стандартом ISO стал язык DSSSL (Document Style Semantics and Specification Language — язык для определения семантики и спецификации стиля документов), определяющий правила, в соответствии с которыми создаются листы стилей, использующиеся для обработки SGML-документов.

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

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

HTML, однако, был задуман как достаточно вольный стандарт. Иными словами, страница, созданная с его использованием, должна обрабатываться браузером несмотря ни на что, в любом случае, даже при наличии откровенных ошибок в коде. Причем, ошибку браузер может интерпретировать как угодно. Таким образом, впоследствии стало понятно, что этот потенциальный вольный стандарт обернулся «миной замедленного действия».[8]

2.1.2. Что такое SGML?

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

Каждый язык разметки, определённый в SGML, называется SGML приложением. Приложение SGML обычно характеризуется:

  1. "Объявлением SGML". Объявление SGML определяет, какие символы и ограничители могут появляться в приложении.
  2. "Определением типа документов (ОТД)" . ОТД определяет синтаксис конструкций разметки. ОТД может включать дополнительные определения, такие как символьные ссылки-мнемоники.
  3. Спецификация, описывающая семантику, относится к разметке. Эта спецификация также даёт ограничения синтаксиса, которые не могут быть выражены внутри ОТД.
  4. Объектами документа, содержащими данные (содержимое) и разметку. Каждый объект содержит ссылку на ОТД, чтобы иметь возможность быть интерпретированным.

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

Пример неразмеченного текста:

Жегалкин Иван Владимирович Петров Андреи

Владимирович Введение в языки разметки 1989

год Под языками разметки

П р и м е р размеченного текста

<AUTHOR ID= 1>Семенов Иван Владимирович</ AUTHOR >

<AUTHOR ID =2>Иванов Андреи Владимирович</ AUTHOR >

< TIТLЕ>Введение в языки разметки <TITLE>

<DATE>1989 год </DATE>

<CONTENT>Под языками разметки

Открывающий тег имеет следующий формат

<имя_объекта имя_атрибута1 =значение_ атрибута1

имя_атрибута2= значение_ атрибута2

имя_атрибута3= значение_ атрибута3

>

Закрывающий тег имеет формат

</имя_ объекта>

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

Объект может включать в себя другие объекты

В данном примере объекты В и С входят в объект А, а объект D — в объект В

Любой корректный SGML документ состоит из двух частей

1) DTD — формальное описание (декларация) объектов, их атрибутов и связей,

2) данные, в которых знаками разметки выделены объекты, объявленные в DTD.[9]

2.2 Основные сведения о языке программирования HTML

2.2.1. История развития языка разметки гипертекста HTML

HTML (англ. Hyper Text Markup Language - «язык разметки гипертекста») был разработан для выполнения разметки и оформления документов, размещаемых на веб-страницах. Язык HTML был разработан британским учёным Тимом Бернерсом - Ли приблизительно в 1986—1991 годах  в cтенах ЦЕРНа в Женеве в Швейцарии. Толчком стало принятие Международной организацией по стандартизации (ISO) ISO-8879-стандарта - Standard Generalized Markup Language(SGML). К нему прилагалось описание, в котором говорилось о том, что SGML предназначен для структурной разметки текста. Примечательно, что описания внешнего вида документа не предполагалось. Исходя из этого, можно сделать вывод о том, что SGML не являлся системой для разметки текста и не располагал какого-либо списка структурных элементов языка, используемых в определенных условиях. Язык подразумевал описание синтаксиса написания главных элементов разметки. Спустя некоторое время они получили хорошо известное сегодня название - «теги». Вполне очевидной была потребность в создании языка, который: описывал какой элемент в каких случаях разумно применить, содержал перечень элементов, с помощью которых можно создать документ, читаемый разными программами. Несмотря на то, что язык SGML, как и его схожие приложения, не получил особого развития, он и не был окончательно забыт. В 1991 году Европейский институт физики частиц объявил о необходимости разработки механизма, позволяющего передавать гипертекстовую информацию через Глобальную сеть. Именно SGML лег в основу будущего языка - Hyper Text Markup Language (HTML).

Этапы становления: 

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

Разработкой HTML версии 2.0 занялся консорциум W3С. Первый результат удалось получить, спустя год насыщенной работы - в 1995 году. Практически параллельно обсуждались возможности версии 3.0. Если вторую версию нельзя назвать существенно отличающейся от первой, то третья стала безусловным прорывом. 

HTML 3.0 включал интересные новинки:

- Разметку математических формул;

- Теги для создания страниц;

- Вставку рисунков, обтекаемых текстом;

- Примечаний и т.д.

Существенное расширение тегов произошло с подачи Netscape Communications - корпорации, запустившей первый коммерческий браузер - Netscape Navigator. Нововведения преследовали лишь одну цель - улучшить внешний вид документа, но при этом они совершенно противоречили исконным принципам языка.[10]

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

В 2004 году приняли новую версию HTML - 4.01. Он обеспечивает отличные показатели кросс - браузерности и кросс - платформенности.

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

2.2.2. Что такое язык HTML

Hyper Text Markup Language (HTML) – стандартный язык, предназначенный для создания гипертекстовых документов в web среде. Документы, написанные языком HTML могут быть просмотрены различными web – браузерами. Web – браузер может интерпретировать HTML для выделения различных элементов и их первичной обработки. HTML позволяет создавать документы для их представления с использованием линий, шрифтов и других элементов для просмотра web – страниц.

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

Автор документа определяет внешний вид документа. Читатель документа тоже может, в определенной степени, управлять внешним видом документа, но не его содержимым. Основное преимущество HTML заключается в том, что документ может быть просмотрен в разных браузерах и на различных операционных системах.[13]

2.2.3. Структура документа и тегов в расширении .html

Каждый HTML- документ должен иметь расширение .html. Для создания web-страницы нужно создать файл с расширением .html, для этого нужно зайти в программу Блокнот, нажать Файл, сохранить как, вписать название, например, Файл.html, важно чтобы файл имел расширение .html. По умолчанию в операционных системах Windows выставлен параметр «Скрывать расширения для зарегистрированных типов файлов». Для того чтобы отключить этот параметр нужно зайти в Панель управления (можно найти ее в Поиске), выставить в вкладке Просмотр – Крупные значки, зайти в параметры Проводника, Вид, внизу в Дополнительных параметрах можно найти параметр «Скрывать расширения для зарегистрированных типов файлов», нужно убрать галочку. После этого можно создавать файл типа: файл.html и он будет c нужным нам расширением. Для его редактирования нужно открывать его в Блокноте, для просмотра результата используем браузер (например, Chrome, Yandex, Internet Explorer).

Текст HTML документа вводится просто как, как например в Word. Для начала нужно понять, что такое тег. Тег – это элемент языка разметки текста, который нужен для того чтобы браузер «понимал», то есть чтобы тег нес определённую команду браузеру, что вбивается не простой текст, а элемент форматирования, применяется тег. Все что внутри тега, то есть между открывающим и закрывающим тегом, называется содержанием тега.

Представляет из себя текст, заключенный в угловые скобки (знаки "<" и ">"). Общий синтаксис тега выглядит так:

<тег атрибут1="значение" атрибут2="значение"> - одиночный.

<тег атрибут1="значение" атрибут2="значение">...</тег> - парный.

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

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

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

Документ HTML начинается с открывающего тега и заканчивается соответствующим ему закрывающим тегом. Закрывающий в отличии от открывающего имеет перед названием косую черту (/тег). Часть HTML-документа, находящаяся между открывающим и соответствующим ему закрывающимся тегом, называется контейнером. Весь HTML - документ это один большой контейнер. В документе необходимо указать его начало и конец. Делается это с помощью тега-контейнера <html>. Внутри главного контейнера с тегом <html> находятся два контейнера:

Заголовок документа <head>. В нем записываются параметры для всей страницы. Например, картинка, текст для отображения в вкладке браузера.

Тело документа <body>. Содержит то, что покажет браузер внутри окна.

В нем, как правило, записываются элементы страницы – тексты, таблицы, картинки, ссылки.[14]

2.3 Основные сведения о языке программирования XML

2.3.1. История развития языка разметки гипертекста XML

Консорциум W3C одно время настоятельно рекомендовал создателям браузеров реализовывать поддержку языка SGML, но на его членов оказывалось все возрастающее давление со стороны как ведущих компьютерных корпораций, так и независимых сообществ разработчиков, не желавших прикладывать усилия к изучению и сопровождению этого языка и утверждавших, что SGML слишком сложен. Одной из неформальных причин, по которой W3C все же отказался от продвижения SGML, можно считать влияние Microsoft. Так как исторически SGML зародился в IBM, специалисты Microsoft полностью игнорировали это творение одного из основных своих конкурентов. Кроме того, SGML был стандартизован ISO, а корпорация Билла Гейтса всегда недолюбливала стандарты, предложенные другими. Достаточно вспомнить историю с технологией TCP/IP, которая появилась в Windows только после того, как ее поддержка была реализована многими сторонними фирмами. Сказывалось и желание Microsoft приватизировать очередную новую перспективную технологию. Наконец пришла пора и SGML. Потребность в этом языке или его аналоге была очевидной, и в дальнейшем Microsoft сделала данную технологию одной из ключевых в своих продуктах.

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

Группу (она получила название SGML Editorial Review Board) возглавил Джон Боусек, ранее работавший ведущим инженером в корпорации Sun, а также управлявший в рамках W3C небольшой исследовательской командой SGML-специалистов. Боусек также известен как автор спецификации DocBook - представления электронной документации по Unix и Linux. Он участвовал в разработке стандарта DSSSL ISO/IEC 11079 (таблиц стилей SGML, на основе которых затем появился язык XSL - таблицы стилей для XML) и придумал его онлайновый вариант, известный как dsssl-o. В дальнейшем этот человек стал одним из основателей консорциума OASIS, выросшего из группы SGML Open, а сегодня он - традиционный председатель ежегодной конференции XML Developers, постоянный участник различных комитетов W3C и большинства мероприятий, посвященных XML.

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

Уже 14 ноября на бостонской конференции SGML-96 группа представила предварительный вариант нового языка на 32-х страницах (спецификация SGML занимает 500 страниц). Рабочий вариант, в котором было учтено множество деталей, пожеланий и нюансов, авторы закончили в августе 1997 г. В частности, на WWW Conference, которая прошла в апреле 1997 г. в Санта-Кларе, был определен механизм организации гиперссылок в XML, для чего группа придумала язык XLL (Extensible Link Language). На этой же конференции Microsoft совместно с фирмой Marimba внесла на рассмотрение W3C первое XML-приложение - технологию OSD (Open Software Description), позволяющую описывать программные компоненты (версии, поддерживаемые платформы, способы связи с другими компонентами).

На вашингтонской конференции SGML-97 (8 декабря) была анонсирована окончательная версия XML 1.0, которая вышла 10 февраля 1998 г. в виде рекомендации W3C. Интересно, что по поводу названия нового языка мнения членов группы разделились, а окончательное решение было принято только перед выходом самой рекомендации. Название "Extensible Markup Language" предложил Джеймс Кларк, известный специалист по SGML/DSSSL, однако в результате опечатки заглавной оказалась вторая буква и язык был записан в документах как eXtensible Markup Language. Такой вариант Кларку очень понравился, и поэтому вместо аббревиатуры EML мы сегодня пользуемся аббревиатурой XML.[15]

2.3.2. Что такое язык XML?

XML (англ. eXtensible Markup Language, расширяемый язык разметки) представляет собой язык разметки, который был создан для описания данных. Язык разметки представляет собой набор символов или последовательностей, вставляемых в текст для передачи информации о его выводе или строении. Таким образом, текстовый документ, размеченный с помощью такого языка, содержит не только сам текст, но и дополнительную информацию о его структуре. Кроме того, язык разметки позволяет вставлять в документ интерактивные элементы и содержание других документов. Разметка разделяется на стилистическую разметку, структурную и семантическую: стилистическая разметка отвечает за внешний вид документа, структурная разметка задает структуру документа, семантическая позволяет описать логику представления данных. XML представляет собой подмножество метаязыка SGML, разработанное для упрощения процесса машинного разбора документа. Можно сказать, что он сам является метаязыком, т.к. не ограничивается набором определенных тегов и используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов. XML-документ обычно состоит из процессинговых инструкций, элементов, атрибутов, сущностей и комментариев. Пример синтаксиса XML:

<?xml version = “1.0” encoding = “utf-8”?>

<book>

<title>XSLT</title>

<author>ТидуэллДуг</author>

<year>2010</year>

<pages>959</pages>

</book>

Обработка XML-документа, обычно, происходит с использованием таких технологий как DTD/XDR/XSD схем, XPath, XSLT и других.

Компания Microsoft была одной из первых организаций, которая стала активно использовать XML в качестве одной из ведущих технологий для обмена данными. В рамках ее деятельности была создана группа технологий, поддерживающих различные API для работы с форматом XML в зависимости от языка разработки: •в случае разработки на C #, Visual Basic, J #, Managed C + + и т.д. используется System.Xml и / или LINQ для XML;•при написании кода на Visual Basic 6, C, C++ или скриптовых языках – необходимо использовать MSXML библиотеки. В случае разработки машинного кода необходимо обращаться к XmlLite API .Для работы с XML в инструментальной среде Microsoft Visual Studio представлены такие инструменты как XML Editor, XML Schema Designer, XSLT Profiler и другие. В частности, XML Editor обладает встроенной проверкой синтаксиса и автоматической проверкой на соответствие схеме во время ввода, а также возможностями IntelliSense. Кроме того, реализована возможность автоматической генерации схем документа, выполнение XSLT трансформаций, работа с обозревателем XML-схем XML Schema Explorer и другие возможности.

2.3.3. Cтруктура XML-документа

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

<?xml version="1.0"?>

<planets>

<planet ID="1">

<name>Mars</name>

</planet>

<planet ID="2">

<name>Earth</name>

</planet>

<!-- There are more planets. -->

</planets>

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

•XML-декларация;

•Пролог;

•Элементы;

•Атрибуты;

•Комментарии.[16]

2.3.4 Расширяемый язык разметки гипертекста XHTML

XHTML расшифровывается как eXtensible HyperText Markup Language (расширяемый язык разметки гипертекста)

XHTML – это не принципиально новый язык, это набор дополнительных правил, которые должны соблюдаться при написании html кода. Таким образом XHTML – это более «чистая» версия HTML/

1. XHTML определяется не списком новых тегов и возможностей, а списком отличий от HTML.

2. XHTML является подмножеством XML.

3. XHTML получил статус W3C рекомендации 26 января 2000 года.

4. XHTML совместим с HTML и поддерживается всеми современными браузерами.

Отличие XHTML от HTML

Согласно синтаксису XHTML:

  • Все элементы должны быть закрыты;
  • Логические атрибуты записываются в развёрнутой форме;
  • Имена тегов и атрибутов должны быть записаны строчными буквами;
  • XHTML строже относится к ошибкам в коде;
  • Кодировкой по умолчанию является UTF-8.

Сравнение кода XHTML и HTML.

HTML-документ:

<HR>

<P name=par1> это первый параграф

<br>

<i><p>это второй параграф</i></p>

<HR>

XHTML-документ:

<hr />

<p id=’par1’>это первый параграф<br /><p>

<i><p>это второй параграф</p></i>

<hr />

Заключение

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

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

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

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

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

  1. А. Ломов . HTML, CSS, скрипты: практика создания сайтов. М.: Юрайт, 2016. – 144 с.
  2. В. Мержевич. Самоучитель HTML. URL: http://htmlbook.ru
  3. Интенсивы. HTML и CSS. URL: https://htmlacademy.ru/
  4. Информационные технологии. HTML : Учеб. пособие / А.И. Костюк, С.М. Гушанский, М.Ю. Поленов, Б.В. Катаев, Южный федеральный ун-т .— Ростов н/Д. : Изд-во ЮФУ, 2015 .— 131 с.
  5. Интернет-журналистика: Учеб. пособие / А.А.Калмыков, Л.А.Коханова
  6. Мальчук Е. HTML и CSS. Самоучитель: Учебное пособие
  7. Н. Алленова. Самоучитель по html: Учебное пособие
  8. С. Бобровский. История языков разметки. URL: https://www.computer-museum.ru/articles/yazyki-i-sistemy-programmirvaniya/1999/?sphrase_id=462528
  9. С. Бобровский. Расширяемый язык XML URL: https://www.computer-museum.ru/articles/yazyki-i-sistemy-programmirovaniya/2035/
  10. С.В. Одиночкина. Основы технологий XML: Учебное пособие - Санкт-Петербург: НИУ ИТМО, 2013. - 56 с.
  11. Э. Пройдаков. История гипертекста. URL: https://www.computer-museum.ru/histsoft/hypertxt.htm
  12. Э. Пройдаков. Модели гипертекста. URL: https://www.computer-museum.ru/histsoft/models.htm
  13. HTML – язык разметки гипертекстов. URL: http://html.find-info.ru
  14. URL: http://www.cs.brown.edu/memex
  1. URL: http://www.cs.brown.edu/memex

  2. Э. Пройдаков. История гипертекста. URL: https://www.computer-museum.ru/histsoft/hypertxt.htm

  3. Э. Пройдаков. История гипертекста. URL: https://www.computer-museum.ru/histsoft/hypertxt.htm

  4. Э. Пройдаков. Модели гипертекста. URL: https://www.computer-museum.ru/histsoft/models.htm

  5. Э. Пройдаков. Модели гипертекста. URL: https://www.computer-museum.ru/histsoft/models.htm

  6. Интернет-журналистика: Учеб. пособие / А.А.Калмыков, Л.А.Коханова

  7. Интернет-журналистика: Учеб. пособие / А.А.Калмыков, Л.А.Коханова

  8. С. Бобровский. Расширяемый язык XML URL: https://www.computer-museum.ru/articles/yazyki-i-sistemy-programmirovaniya/2035/

  9. С. Бобровский. Расширяемый язык XML URL: https://www.computer-museum.ru/articles/yazyki-i-sistemy-programmirovaniya/2035/

  10. HTML – язык разметки гипертекстов. URL: http://html.find-info.ru

  11. Мальчук Е. HTML и CSS. Самоучитель: Учебное пособие

  12. Информационные технологии. HTML : Учеб. пособие / А.И. Костюк, С.М. Гушанский, М.Ю. Поленов, Б.В. Катаев, Южный федеральный ун-т .— Ростов н/Д. : Изд-во ЮФУ, 2015— 131 с.

  13. Н. Алленова. Самоучитель по html: Учебное пособие

  14. В. Мержевич. Самоучитель HTML. URL: http://htmlbook.ru

  15. С. Бобровский. Расширяемый язык XML URL: https://www.computer-museum.ru/articles/yazyki-i-sistemy-programmirovaniya/2035/

  16. С.В. Одиночкина. Основы технологий XML: Учебное пособие - Санкт-Петербург: НИУ ИТМО, 2013. - 56 с.