Возможности XML | Различия между XML и HTML

Различия между XML и HTML


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

XML прекрасно подходит в тех случаях, когда требования к документу выходят за рамки простых опций HTML, обеспечивающих представление данных. Microsoft Internet Explorer поддерживает XML наряду с возможностью связывания данных средствами Dynamic HTML (DHTML) и Channel Definition Format (CDF). Netscape Navigator также предлагает подобные возможности. Поскольку оба популярных на сегодняшний день браузера поддерживают объектную модель документа (Document Object Model, DOM), элементы, которые вы собираетесь использовать, могут быть определены в XML как объекты. Это означает, что вы можете программировать их при помощи скриптов. Такая расширяемость делает XML идеальным языком для отображения динамических данных на различных платформах.

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

В общих чертах, XML и HTML различаются по трем основным направлениям:

Это не означает, что в процессе изучения XML от вас потребуется полное забвение всего, что вы когда-то знали об HTML — совсем наоборот. Фактически, поскольку оба языка происходят от SGML — "дедушки" языков разметки, такие характерные черты, как синтаксис, элементы, правила, принципы разработки являются схожими.

Можно утверждать, что XML является более развитым языком разметки по сравнению с HTML. А если вы пойдете дальше этого утверждения и скажете, что HTML применяется главным образом для представления содержания текстовых документов, a XML используется для структурирования данных, то вы не совершите ошибку. Однако различия состоят не только в этом.

XML — это не замена HTML. И это не просто HTML с дополнительными тегами, хотя описание XML гораздо больше по своему объему, нежели описание HTML. Несмотря на то, что HTML является приложением SGML, a XML является подмножеством SGML, HTML и XML имеют существенные различия. В частности, XML позволяет вам создавать собственные теги для различных целей. Кроме того, различия более ощутимы, если принять во внимание те проблемы, для решения которых применяется XML. Можно сказать, что XML представляется решением обычных проблем, вызванных применением HTML. При помощи XML достигается:

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

Лучший контроль над размещением информации

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

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

Несмотря на то, что последняя реализация HTML — версия 4 — поддерживает таблицы стилей, разница заключается в том, что XML позволяет сопоставлять стили с конкретными структурными элементами. Это означает, что разработчик может быстро применить стилевой формат для определения структурных элементов, например, сущностей, содержащих объявления изображений, особенных форматов абзацев, и даже стилей для различных типов механизмов связывания (linking mechanisms).

Независимость от сервера

Одной из наиболее важных функциональных возможностей XML является то, что документы не нуждаются в жесткой привязке к серверам. Используя так называемую объектную модель документа (Document Object Model, DOM) можно создавать XML-документы, в которых отображаются либо все данные, либо лишь часть этих данных. Предположим, что вы создаете ХМL документ — простую адресную книгу. При помощи HTML вы могли создать форму, позволяющую находить имя в адресной книге. Разумеется это бы потребовало пересылки поискового запроса из формы к серверу всякий раз, когда пользователю необходимо обратиться к тому или иному им ни в адресной книге.

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

Лучший контроль над большими документами

Вы когда-нибудь пытались просмотреть большую Web-страницу при помощи современных браузеров? HTML не позволяет отметить и выбрать с дельный раздел для просмотра. Проблема заключается в том, что HTML предусматривает наличия нескольких разделов в рамках единого документа В нем используются только разделы <head> и <body>. Таким образом, если вы — дизайнер, и вам нужно создать единый большой документ, в котором были бы предусмотрены ссылки на различные разделы этого же документа то вам потребуется либо разбить данный документ на Web-страницы меньшего размера, либо использовать фреймы (frames). Но и фреймы обычно позволяют обеспечить доступ к нескольким документам, но не к одному единому документу с отдельными разделами.

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

XML позволяет просто решить эту проблему, поскольку все XML-документы структурированы и правильно оформлены. В XML вам не придется "срезать острые углы", как в HTML, применяя различные элементы разделов, вы можете разбить единый документ на разделы. Такая многоуровневая структура напоминает иерархическое представление папок (folders) в Windows Explorer. Из этого следует, что XML обеспечивает возможность поиска по всему документу, не прибегая к созданию отдельных скриптов.

Применение множественных гиперссылок

Вам не надоела кнопка "Back" в вашем браузере? Это и не удивительно, поскольку нынешняя реализация HTML допускает лишь однонаправленное связывание (single direction linking). В настоящее время не существует соглашения по многосвязным форматам (multi-linking formats), позволяющим осуществлять многонаправленное связывание (multidirectional linking), в зависимости от того, какую роль играет документ. Однако пользователи Web хотели бы иметь нечто большее, чем переходы в прямом и обратном направлениях. Куда нас ведут современные источники HTML? К другим ресурсам — будь это другие Web-страницы, поисковые системы, средства для ведения бесед (chat rooms) и т. д.

Итак, какие же именно способы связывания, недоступные для HTML и SGML, предлагает XML? В частности, XML предоставляет стандартную модель связывания, основанную на собственной спецификации — расширяемом языке связывания (Extensible Linking Language, Xlink). B HTML в качестве указателя связи, или URL, могут применяться лишь символьные типы данных. Сущности не применяются. В URL не могут содержаться условные обозначения (notations), разделяющие различные типы данных. А внутренние связи, применяемые для связи с другими ссылками в том же самом документе, используют атрибут NAME типа элемента, например, <А NAME="bottom">. Это относительно простое связывание.

Связывание в XML является, однако, более сложным, чем в HTML. Благодаря XLL (extensible Link Language) — языку описания связей для внедрения других документов XML и двунаправленных ссылок — XML предлагает развитые механизмы связывания, которые:

Рассмотрим метод связывания, применяемый в настоящее время в HTML. Простая связь (simple link) обеспечивает способ идентификации некоторого единичного источника. Спецификация расширенных связей позволяет задавать отношения между более чем двумя ресурсами.

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

<< назад | содержание | вперед >>