Файл: Языки гипертекстовой разметки (Практическое применение языка HTML).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 26.06.2023

Просмотров: 143

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

SGML широко использовался в печатной и издательской сфере, но ввиду его сложности широкого распространения для повседневного использования он не получил.

SGML документ состоит из следующих основных частей:

- SGML декларация – для определения символов и ограничителей, которые могут появляться в приложении;

- Document Type Definition (DTD) – тип документа, для определения синтаксиса конструкций разметки;

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

- содержимое SGML-документа - должен быть хотя бы корневой элемент[21].

Отличительными характеристиками SGML являются:

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

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

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

Таким образом, SGML решал проблему стандартизации обмена данными между разнородными программами и платформами. Однако являлся очень сложным. Кроме того, SGML-документ было трудно интерпретировать без определений языка разметки, который хранится в определении типа документа, который необходимо было посылать вместе с самим SGML-документом, чтобы распознать теги, созданные пользователем. Поэтому язык SGML не получил масштабного распространения, однако лег в основу языка HTML (Hyper Text Markup Language - язык разметки гипертекста).

По сути, HTML представляет собой набор предписаний SGML, сформулированных в виде DTD. В случае языка HTML DTD хранится в браузере и этот DTD во много раз меньше, чем DTD SGML[24].


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

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

Существует восемь версий языка HTML. Так в версии HTML 3.0 в целях разрешения противоречия между идеологией структурной разметки и потребностями пользователей в гибких и разнообразных возможностях визуального представления информации, ввели иерархические стилевые спецификации (Cascading Style Sheets - CSS). Система CSS формально независима от HTML, имеет совершенно иной синтаксис, не наследует никаких идеологических ограничений и позволяет уже совершенно в иных терминах задавать параметры визуального представления для любого тега HTML[26].

В HTML.3.2 и HTML.4.0 разработчики попыталась объединить большинство нововведений языка, появившихся после выхода версии 3.0, с учетом современных концепций развития компьютерных технологий, в частности Мультимедиамультимедиа.

В поддержку языка HTML была создана целая серия программных языков, таких, как JavaJava, JavaScriptJavaScript, Perl, PHP и т.д. Тем самым открылась возможность для создания динамических Web-страниц, включающих формы, таблицы, фреймы и другие элементы[27].

Следует подчеркнуть, что HTML до его 5-ой версии определялся как приложение SGML. Спецификации HTML5 формулируются в терминах DOM (объектной модели документа)[28].

В 1998 г. члены рабочей группы Консорциума World Wide Web, упростив SGML для использования в Web, предложили расширяемый язык разметки XML (eXtensible Markup Language - расширяемый язык разметки).

XML представляет собой подмножество SGML, причем любой действительный документ XML является действительным документом SGML. Как и SGML, XML - это метаязык, определяющий другие языки разметки для специфических целей. Например, язык синхронизированной интеграции мультимедиа (Synchronized Multimedia Integration Language - SMIL) базируется на XML[29].

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

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


XML используется для разметки стандартных документов во многом так же, как HTML. Однако XML ориентирован на работу со структурированными данными, такими, как результаты запроса, метаинформация о Web-узле или элементы и тип схемы.

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

Основные преимущества и недостатки языка XML представлены в Приложении 1.

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

XML является базовым стандартом для нового языка описания ресурсов, RDF, позволяющего упростить многие проблемы в Web, связанные с поиском нужной информации, обеспечением контроля за содержимым сетевых ресурсов, создания электронных библиотек и т.д. Он также позволяет описывать данные произвольного типа и используется для представления специализированной информации, например химических, математических, физических формул, медицинских рецептов, нотных записей, и т.д. Следовательно, XML может служить мощным дополнением к HTML для распространения в Web "нестандартной" информации[32].

Вся информация, располагающаяся между начальным и конечными тэгами, рассматривается в XML как данные, и поэтому учитываются все символы форматирования (в HTML они игнорируются)[33].

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

Первой строкой документа XML является декларация XML. Эта необязательная часть файла определяет его как файл XML (например, <?xml version="1.0" encoding="utf-8"?>). Начальный и замыкающий теги корневого элемента окружают весь текст XML-документа. В файле должен присутствовать только один корневой элемент (например, <recipe> (рецепт), и это необходимая "обложка" для него. По мере создания документа в него помещается текст и дополнительные теги между <recipe> и </recipe>. При создании XML регистры начального и конечного тегов должны совпадать. В XML сначала выбираются имена элементов, а затем на основе этих имен определяется соответствующее описание DTD или схема. Пробелы в именах элементов не допускаются, при этом имена должны начинаться с буквы[34].


Пример файла XML приведен в Приложении 2.

XHTML представляет собой язык разметки гипертекста, основанный на XML и максимально приближенный к стандартам HTML. XHTML отличается от HTML строгостью написания кода. Если HTML позволял писать практически любые конструкции и браузер их корректно распознавал, то теперь, с появлением XHTML, это стало невозможным. XHTML требует строгого соблюдения всех правил, предъявляемых W3C[35].

XHTML создавался с учетом общей совместимости пользовательских агентов. С помощью нового механизма профилирования пользовательских агентов и документов серверы, прокси и пользовательские агенты смогут преобразовывать содержимое наилучшим образом. В конечном счете, возможна разработка соответствующего XHTML содержимого, пригодного для любого соответствующего XHTML пользовательского агента[36].

XHTML совместим с HTML при соблюдении некоторых правил, т.е. даже самые старые браузеры, которые понимают HTML, могут работать и с XHTML.

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

При написании кода на XHTML необходимо выполнение следующих основных требований:

- в начале документа должен указываться один из возможных DTD:

- в теле документа должны обязательно присутствовать тэги: html, head, title и body;

- обязательно наличие атрибута xmlns в элементе html;

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

- все значения атрибутов должны заключаться в "кавычки";

- все тэги должны закрываться;

- необходимо соблюдать корректную вложенность тэгов[37].

Пример кода XHTML-страницы приведен в Приложении 3:

Если вставить этот XHTML-страницы в файл, сохранить его как "file.html" и открыть через веб-сервер, то вся информация будет получена клиентом как >text/html<. То есть, как и обычная HTML-страница. Фактически для браузера это будет не XHTML, а HTML-документ[38]. У XHTML есть свой собственный MIME-тип: <application/xhtml+xml> - специальный набор расширений, указывающий программам, как обрабатывать входящую информацию. Поэтому XHTML-данные правильно отдавать клиенту именно в формате <application/xhtml+xml>, поскольку все преимущества, помимо кросс-браузерности (увеличение скорости анализа кода процессором XML, сообщение об ошибках самим браузером и пр.), могут достигаться только в случае, если пользовательский агент поддерживает XHTML и ему сообщается о том, что входящие данные – это XHTML-код[39].


WML (Wireless Markup Language) – язык разметки для работы в Интернет беспроводных устройствах (WAP), основанный на XML. WML используется для описание контента и пользовательского интерфейса для особого класса узкополосных устройств, типа Palm Pilot, сотовых телефонов и пейджеров[40]. Следует подчеркнуть, что размер WML-страниц не должен превышать 4 килобайт.

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

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

В WML набор поддерживаемых тегов невелик.

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

В деках находятся «карточки» (card), каждая из которых ограничена тегами <card> и </card>. В одном деке всегда должна быть, по меньшей мере, одна карточка. При этом на экране устройства в каждый момент времени отображается только одна карточка, а пользователь может переключаться между ними, переходя по ссылкам[41].

Так, если для обычного сайта единицей является Web-page, то единица WML – это deck, состоящая из одной или нескольких card, составляющих вместе WML-документ (wml-файл). Как только wml-файл загружен в устройство с сервера, пользователь может листать экраны, переходить к следующему или возвращаться к предыдущему, не ожидая загрузки с сайта, что, конечно, выгодно по скорости[42].

Поскольку WML представляет собой ветвь XML, а любой XML-документ сначала должен пройти проверку на соответствие своему DTD, в любом wml-файле, необходимо указывать полный путь к WML DTD[43].

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