Различия между 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). Но и фреймы обычно позволяют обеспечить доступ к нескольким документам, но не к одному единому документу с отдельными разделами.
Если мы попробуем применить тег