Консалтинг и автоматизация в области управления
эффективностью банковского бизнеса

Журнал ВРМ World

XML: структурирование данных для Web: Введение

Что же не так с Web и как новая XML-технология может этому помочь?

Это введение в XML рассчитано специально на новичков, которые безусловно что-то слышали, но не представляют, из-за чего столько шума. Эта статья кратко осветит несколько новых Web-технологий (таких, как XLL, XSL, RDF, DOM, MathML, SMIL, PGML) и их отношение к XML.

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

Настройка Web

Если ничего не ломается - не надо ничего настраивать. Вот что могут сказать некоторые по отношению к World Wide Web. В конце концов, миллионы людей ежедневно путешествуют по Web - от домохозяек, ищущих рецепты блюд, до инвесторов в поисках последних биржевых цен, студентов, исследующих убийство Авраама Линкольна или читателей, покупающих книжную новинку в одном из он-лайновых электронных магазинов. Для них Web работает нормально.

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

  • HTML-стандарты меняются очень медленно - практически за всю историю Web было в сущности всего две версии HTML: HTML 2.0 и HTML 3.2. (HTML 1.0 устарел, а HTML 4.0, хотя и является сегодняшним стандартом, появившемся 18.12.1997 г., еще только-только начинает появляться на самых популярных сайтах). Когда HTML 3.2 был окончательно утвержден в Январе 1997, он был в большей степени закреплением уже сложившейся практики, чем нововведением, поскольку почти все элементы, которые были в нем определены, уже почти год использовались неофициально. Просто разработка соглашения по спецификации заняла у World Wide Web Consortium (W3C) слишком много времени (скорее всего из-за расширений для конкретных броузеров, которые мы обсудим далее).
  • Тэги для конкретных броузеров ("расширения") - до HTML 3.2, Netscape и Microsoft ввели пагубную практику добавления своих собственных расширений к языку. И это стало непрекращающейся головной болью для разработчиков сайтов, пытавшихся сделать свои страницы доступными всем пользователям, используя при этом, однако, все новые особенности броузеров. Менее амбициозные авторы поддались вирусу "Данный сайт лучше всего просматривать через Netscape/Microsoft" ("This site best viewed with {Netscape/Microsoft"), что способствовало созданию ряда действительно ужасных сайтов. Эти авторы забыли, что Web на самом деле никогда не будет <всемирным> ("World Wide"), если они распределятся по разным лагерям и будут пользоваться расширениями, которые не поддерживаются всеми без исключения.
  • Невозможность размечать данные в любом стиле - HTML изначально был предназначен для обеспечения простого способа разметки документа любого вида с целью отображения его структуры (заглавие, основные внутренние заголовки, неосновные внутренние заголовки, списки и т.п.), а также ряда стилистических аспектов (тип шрифта и др.). Добавьте к этому возможность гипертекстовых ссылок, предоставляемую HTML, а также поддержку броузером длинного списка типов MIME, и будет нетрудно представить феноменальный уровень разработки Web, особенно с тех пор, как авторство страниц в Web опустилось на уровень школьников начальных классов. HTML был и остается отличным средством разметки документов. Но и представителям бизнеса и ученым тоже необходимо обмениваться информацией. Поэтому нужен новый язык для выражения иерархических отношений значений данных - таких, как в записях базы данных и объектных иерархиях. HTML отражает структуру и представление, но ничего не говорит о значении размеченного документа.
  • Парадигма броузера слишком ограничивает возможности - с появлением Java и JavaScript, Web-броузер быстро превратился в нечто большее, чем только инструмент для путешествий по Web; он стал также средством запуска приложений. Так или иначе, но броузер находит применение. Пользователи хотят иметь приложения, которые выглядят и ощущаются как знакомые им приложения рабочего стола, как, например, крупноформатные таблицы. Поскольку обработка содержимого MIME весьма этому способствует, бывает, что парадигма броузера уже не имеет смысла. Даже если вы сможете "утратить хром" (т.е. меню и инструменты контроля броузера), все равно иногда будет возникать необходимость в передаче информации между двумя или более приложениями. Что нам действительно нужно, так это web-ориентированные приложения (программы, понимающие распространенные протоколы Интернета - такие, как HTTP), чтобы мы могли обращаться к Web-ресурсам, полностью минуя броузер. (Это не вовсе научная фантастика, компании - такие, как webMethods, Inc., - уже практически решили эту задачу).
  • Поисковые машины возвращают слишком много ссылок - если только вы не стали специалистом в своих любимых поисковых машинах, изучив их схожий, но тем не менее раздражающе отличающийся нюансами синтаксис запросов, вы несомненно получите на сотни или тысячи ссылок больше, чем вам хватит времени и терпения просмотреть. Если вы необычайно удачливы или искусны, ссылка, которую вы ищете, может оказаться и на первой или второй странице результатов запроса - но не рассчитывайте на это. Проблема в том, что поисковые машины обычно могут всего лишь индексировать частоту слов, заголовков документов и, иногда, мета-тэгов, описывающих содержимое страницы. На самом деле необходим какой-то способ выделения важной части документа и передачи семантики документов, чтобы поисковые машины смогли игнорировать <белый шум> и сконцентрироваться на самом <сигнале>. Иногда поиск требует большей детализации, чем может обеспечить большинство поисковых машин. Например, как бы вы стали бы искать книги, написанные Полом Маккартни и чем бы этот поиск отличался от поиска книг о нем, о "Beatles" или о "Wings"? Если бы словосочетание "Пол Маккартни" могло бы быть помечено тэгом <AUTHOR> для индикации его специфического значения, тогда такие тонко настроенные запросы могли бы иметь место.
  • Невозможность определять выборку страниц, связанных с данной - часто это тот случай, когда вы сталкиваетесь с Web-страницей, которая явно представляет собой часть более объемной выборки. Если вам повезло найти ссылку на содержание, главную страницу или какое-либо другое средство представления выборки, значит, половина дела сделана. Но как вам распечатать выборку? Текущий ответ: один HTML-файл за раз. Конечно, должен быть какой-нибудь другой, более удобный способ представления внутренних взаимоотношений наборов страниц - так, чтобы они могли обрабатываться как группа. Нам нужно иметь возможность присоединять метаданные ("информацию об информации" или "информацию, понятную машине") к Web-страницам для отображения этих взаимоотношений.
  • Односторонние ссылки - это что-то ограничивающее - хотя сегодняшняя возможность Web'а создавать односторонние гипертекстовые ссылки доказала свою полезность, знаете ли вы, что уже много лет в издательском деле существуют гораздо более гибкие схемы? С 1992 Hypermedia/Time-based Structuring Language (HyTime) и Text Encoding Initiative (TEI)) оснастили издателей возможностью отображать сложные отношения ссылок, например, многоцелевые ссылки, разнонаправленные ссылки и автоматически обновляемые базы данных ссылок. Нам явно нужен более богатый язык ссылок для Web.

HTML 3.2 совместно со скриптами CGI, Java-апплетами и JavaScript (и их производными), плюс устройства (plug-ins) типа Shockwave, RealPlayer и Quicktime обеспечивают авторам Web-страниц и коммерческим сайтам богатый выбор технических приемов для отображения содержания, которое визуально неотразимо и даже достаточно информативно. Тем не менее, эти приемы не слишком способствуют отображению структурированных данных до тех пор, пока кто-либо не предложит какие-либо связующие программные решения.

Ввод XML

Расширяемый язык разметки (Extensible Markup Language, XML) является не взаимоисключающей альтернативой HTML и вышеупомянутым технологиям. "XML - это язык для создания языков разметки, описывающих данные," писал Майк Эдвардс (Microsoft). По контрасту с HTML, который описывает структуру документов и визуальное представление, XML описывает данные в формате, доступном для чтения человеком, без указания того, как эти данные будут представлены. Это нейтральный относительно баз данных и машинонезависимый формат; данные, размеченные в XML, могут быть помещены на различные машины с помощью Расширяемого языка стиля (Extensible Style Language, XSL), поскольку XML действительно расширяем. В отличие от фиксированного набора элементов, как в HTML, использование XML в конечном счете исключит необходимость в добавлениях специальных тэгов HTML (расширений) со стороны разработчиков броузеров и промежуточного (связующего) программного обеспечения.

Как же это возможно? Просто XML - это мета-язык, используемый для определения других, специфических для отдельной области или индустрии в целом, языков. Для построения своего собственного языка XML (также именуемого "словарь"), вы создаете специфическое Описание типа документа (Document Type Definition, DTD), которое по сути является контекстно-независимой грамматикой наподобие расширенной формы Бэкуса-Наура (Extended Backus Naur Form, BNF), использующихся для описания компьютерных языков. Другими словами, DTD обеспечивает правила, определяющие элементы и структуру вашего нового языка. В нашем примере записи информации о сотруднике DTD будет включать правило, определяющее как элемент, состоящий из трех других элементов: , и именно в таком порядке. Это правило также отражает обязательность этих элементов, возможность их повторного появления и/или наличия у них значения по умолчанию. Важно понимать, что любой броузер (или приложение) с XML-парсером может интерпретировать наш пример документа, <изучая> правила, определяемые DTD. (Откровенно говоря, DTD не является таким уж необходимым. XML-парсеры могут выводить структурные правила языка (включая те, с которыми они никогда ранее не сталкивались) из контекста элементов в конкретном примере документа, особенно в случаях, .подобных нашему тривиальному примеру. Тем не менее, в более сложном словаре XML присутствие DTD более вероятно). Новые элементы этого языка разметки информации о сотрудниках не требуют расширений броузера или комитета представителей различных компаний для того, чтобы решить, какими они должны быть. XML предоставляет вам полную свободу и возможности для создания своего собственного языка.

Для тех, кто знаком со Стандартным обобщенным языком разметки (Standard Generalized Markup Language, SGML), - XML менее сложен, чем SGML, но более сложен чем HTML. Говорят, что XML соединяет в себе 80% преимуществ SGML и 20% усилий, затрачиваемых на работу с ним.

Спецификации XML

Примечание: Если вы незнакомы со значением таких терминов Интернета, как "Рекомендации", "Предложенные рекомендации", "Рабочий набросок" и "Примечания", обратитесь к страницам World Wide Web Consortium Process, особенно к разделу Документы.

Включающий более чем 250 членов Консорциум World Wide Web утвердил Cпецификацию XML 1.0 как рекомендацию W3C 10 февраля 1998 г. Однако, работа с XML была начата еще в июле 1996 г., когда SGML Editorial Review стал группой по разработке XML, в конце концов создавший первый набросок XML в ноябре 1996 г. (Эти и другие события подробно описаны во Временной шкале W3C's Timeline: События и Публикации, а также во Временной шкале XML-событий автора).

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

  1. Рекомендации XML 1.0 - это спецификация XML, описывающая синтаксис мета-языка крупными мазками.
  2. XML Linking Language (XLink) и XPointer - эти два связанных рабочих наброска W3C описывают множество путей выражения сложных, но гибких отношений ссылок между документами (и разделами).
  3. Расширенный язык стиля (Extensible Style Language, XSL) - все еще являющийся Примечанием W3C, XSL описывает пути компенсации недостатков XML с помощью различных страниц стиля, возможно предназначенных для различных устройств.

Вы можете вообразить, что спецификации достаточно трудны для понимания, поэтому прежде рекомендуется ознакомиться с Аннотированной спецификацией XML (The Annotated XML Specification), написанной Тимом Бреем (одним из авторов спецификаций XML, работающим в Textuality и являющимся также консультантом в Netscape).

Ряд других спецификаций имеют отношение к всеобъемлющей деятельности W3C в сфере XML. Спецификация объектной модели документа (Document Object Model Specification, четвертый набросок, датированный 16.04.1998 г.), описывающая "платформно- и языко- независимый интерфейс, допускающий динамический доступ и обновление программами и скриптами содержания, структуры и стиля HTML- и XML-документов", содержит большой раздел посвященный XML. Другой связанный с этим Рабочий набросок - это Пространство имен в XML, представляющее идею ввода квалифицированных имен для предотвращения возможных конфликтов между идентично названными элементами XML с помощью ассоциирования префикса, идентифицирующего конкретное пространство имен через URI. Система описания ресурсов (Resource Description Framework, RDF) является Рабочим наброском, который описывает язык для записи метаданных. Примечание W3C, именуемое просто XML-данные и предлагаемое фирмами Microsoft, ArborText, DataChannel и Inso Corp., представляет собой предложение подготовить XML для формирования базы данных, особенно для трехуровневых архитектур и гетерогенных баз. Они предлагают примерный синтаксис для схем и модель расширения элементов XML (с помощью добавления типов данных, правил представления, наследования и т.д.). [В качестве Примечания W3C, XML- данные еще не признаны Консорциумом World Wide Web].

См. также обсуждение Создающиеся словари XML (Emerging XML Vocabularies) для получения дополнительной информации. В следующей нашей статье синтаксис XML будет рассмотрен подробно.

Как выглядит XML?

По контрасту с последними Web-технологиями - такими, как HTML, Cascading Style Sheets и Dynamic HTML, - XML описывает структуру, а не представление.

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

Рассмотрим данный тривиальный пример HTML.

<B>Джон К Паблик</B>
<P>
john.q.public.1@gsfc.nasa.gov<BR>
телефон: 301-286-aaaa<BR>
факс: 301-286-bbbb<BR>
Д. 23, комн. 999<BR>
NASA<BR>
Центр космических полетов Годдара<BR>
588.0<BR>
Greenbelt, MD 20221<BR>


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

Теперь рассмотрим возможное XML-представление той же информации, отражающей отношения между различными объектами данных. В приведенной ниже XML-версии у нас имеется сотрудник, описываемый именем, адресом электронной почты, номерами телефона и факса, местонахождением и адресом. Заметьте, что каждый значимый фрагмент информации, отражающий отдельное понятие, представлен своим собственным элементом XML: <EMPLOYEE>, <NAME> и <ADDRESS>.


<EMPLOYEE>
    <NAME>
        <FIRST>Джон</FIRST>
        <MIDDLE>К</MIDDLE>
        <LAST>Паблик</LAST>
    </NAME>
    <EMAIL>john.q.public.1@gsfc.nasa.gov</EMAIL>
    <PHONE>301-286-aaaa</PHONE>
    <FAX>301-286-bbbb</FAX>
    <LOCATION>
        <BUILDING>Д. 23</BUILDING>
        <ROOM>999</ROOM>
    </LOCATION>
    <ADDRESS>
        <ORG>NASA</ORG>
        <CENTER>Центр космических полетов Годдара</CENTER>
        <MAILSTOP>588.0</MAILSTOP>
        <CITY>Greenbelt</CITY>
        <STATE>MD</STATE>
        <ZIP>20221</ZIP>
    </ADDRESS>
</EMPLOYEE>


Преимущества XML в этом примере в том, что он сохраняет семантику и структуру данных. Мы можем рассматривать эту информацию как иерархические данные. Объект "employee" (сотрудник) состоит из объектов "name" (имя), "email", "phone" (телефон), "fax" (факс), "location" (местонахождение) и "address" (адрес). "Name" (имя) состоит из первого, среднего и последнего компонентов, "location" (местоположение) состоит из объектов "building" (номер дома) и "room" (номер комнаты), и так далее. Сходство с записями базы данных должно быть очевидно.

Мы можем запросто представить Объектную модель документа (Document Object Model, DOM), построенную на основе JavaScript или ECMAScript и формирующую иерархию, так, что если бы эта запись была бы пятой "записью" о сотруднике на данной странице, мы могли бы представить значение фамилии ("Паблик") вот так:

doc.employee[4].name[0].last[0].value

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

Преимущества и приложения

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

  1. Отраслевые словари - XML используется для создания новых тэгов, которые будут понятны всем броузерам с XML-парсерами (например, математические, химические или музыкальные языки разметки). Словари XML будут обеспечивать стандартный путь, делающий возможным отправление врачами предписаний фармацевтам, передачу электронных транзакций, описание астрономических инструментов и др. Фирма Microsoft описывает словари, ориентированные на "горизонтальные слои" различных областей промышленности, науки и бизнеса (в частности, на распространение программ и e-коммерцию) и на "вертикальные слои" (в частности, на телекоммуникации или аэронавтику).
  2. Структурированные данные - любое знакомое с XML приложение может извлекать именно ту информацию, которая ему нужна (например, оно может отличить Пол Маккартни and Пол Маккартни).
  3. XML дополняет HTML - XML и HTML могут быть объединены, при этом каждый будет выполнять ту задачу, которую он делает лучше всего (например, XML-данные могут использоваться для наполнения форм или таблиц HTML; см. Microsoft XML/XSL Viewer Demo, для которого требуется Internet Explorer 4.x).
  4. Само-описание - не требуется никаких предварительных знаний о передающем приложении, поскольку синтаксис конкретного XML-документа описывает отношения между различными элементами (либо явно с помощью DTD, либо косвенным образом с использованием средств контекста элемента).
  5. Метаданные - данные о данных которые могут использоваться для описания Web-страниц, взаимосвязей страниц или в качестве канала доставки структурированной информации подписчикам.
  6. Поисковые машины - с использованием XML для контекстной разметки запросы с большей вероятностью извлекают подходящие файлы согласно контекстной информации. Поисковые машины смогут извлекать специфический фрагмент файла; кроме того, они также будут работать гораздо быстрее, если добавленный контекст поможет отбросить множество неподходящих совпадений.
  7. Распространяемые приложения - в ряду XML-приложений каждое приложение может извлекать только требующиеся ему данные и передавать либо все либо, возможно, отфильтрованные данные, другим приложениям.
  8. Детальные обновления - фирма Microsoft поясняет, что с XML, встроенным в HTML-страницы, нужно будет загружать только изменяющиеся элементы; производить обновление интерфейса без обновления всей страницы в целом (в ряде случаев); данные могут кэшироваться в клиенте.
  9. Выбираемое пользователем представление данных - XML дает возможность клиенту манипулировать данными; пользователь выбирает одну, несколько или все записи, сортирует их по различным атрибутам, переключает на графическое представление и т.д. без запроса данных с сервера для каждого процесса.
  10. Специфическое для данного пользователя представление данных - подобным же образом одни и те же данные могут быть представлены по-разному, возможно даже как поднабор, в зависимости от роли получателя информации (например, бухгалтерия увидит более детализированную информацию, чем покупатель).
  11. Сервера данных промежуточного слоя - в трехуровневой архитектуре XML может использоваться на промежуточном слое для интеграции данных из различных конечных баз данных. Согласно заявлению фирмы Microsoft: " Будут разработаны специальные агенты для работы на промежуточном слое с целью обеспечения доступа ко множеству существующих СУБД и генерации выходного XML".
  12. Представление данных независимо от структуры - страницы стиля XSL будут описывать способ размещения одних и тех же данных на различных устройствах (мониторах, принтерах, карманных компьютерах, WebTV).
  13. Преобразование в HTML и обратно от фирмы Microsoft - в декабре 1997 фирма Microsoft объявила о том, что следующая версия Microsoft Office будет использовать XML для представления различных специфических для Office форматов. Пользователи получат возможность сохранять документы Office как HTML, изменять их в виде HTML и затем импортировать их обратно в Office согласно XML как промежуточному формату.
  14. Множество возможных XML-приложений включают в себя:
    • интеллектуальные модули персонализации содержимого при помощи разумного приема/передачи данных (возможно, с использование XML-хранилища данных с признаками их актуальности),
    • структурированные записи (порядок покупки),
    • объекты с методами и данными (Java, и, возможно в будущем, JavaScript),
    • мета-содержание вашего Web-сайта (улучшает поиск),
    • результаты запросов,
    • графический пользовательский интерфейс приложения,
    • устойчивый формат хранения (например, XML-хранилище под управлением ОСУБД [см. POET]),
    • каталог интерактивных частей,
    • электронные руководства по обслуживанию,
    • он-лайновая документация по процессам и процедурам,
    • электронный обмен данными (electronic data interchange, EDI) - установление соответствия между данными отделом розничных продаж и складом одной и той же или разных компаний .

Появление словарей XML

Менее чем через два месяца после того, как спецификация XML стала рекомендацией W3C, 7 апреля 1998 была утверждена спецификация Математического языка разметки (Mathematical Markup Language Specification (MathML), явившаяся первым основным словарем XML, специфическим языком данной области, основанным на мета-языке XML. "MathML является приложением XML для описания математических знаков и включает в себя одновременно и структуру и содержание", как говорится в Рекомендации MathML. Язык поддерживает богатый набор математических знаков, содержит более чем 100 специфических для данной сферы элементов разметки; предполагается, что он обеспечит основу для математических авторских инструментов, которые будут использоваться учеными.

Также в апреле Спецификация синхронизированного мультимедийного интеграционного языка (Synchronized Multimedia Integration Language (SMIL) 1.0 Specification) была переведена из Рабочего наброска (Working Draft) в Предлагаемую рекомендацию(Proposed Recommendation). [Примечание: теперь SMIL представляет собой полную Рекомендацию W3C (full W3C Recommendation) на 15.06.1998 г.] SMIL - это еще один словарь XML, предназначенный для "интеграции набора независимых мультимедийных объектов в синхронизированную мультимедийную презентацию". SMIL (произносится как "smile") поддерживает гиперссылки на медиа-объекты. Эта спецификация является результатом совместной работы представителей более чем дюжины компаний, включая Lucent/Bell Labs, DEC, Philips, Apple, Microsoft, Netscape и RealNetworks.

И Netscape и Microsoft активно занимаются созданием Схемы среды описывающей ресурсы (Resource Description Framework (RDF) Schemas), ранее представлявшей собой просто Примечание W3C, а в настоящее время являющееся Рабочим наброском по состоянию на 04.09.1998 г., которая будет использовать синтаксис XML для определения оценки содержания сайта, карт сайта, каналов доставки информации и других метаданных сайта.

Новинкой является Язык разметки точной графики (Precision Graphics Markup Language, PGML), ставший Примечанием W3C 10 апреля 1998 г. и принятый фирмами Adobe, IBM, Netscape и Sun. PGML представляет собой "двухмерный масштабируемый графический язык, разработанный для удовлетворения требований как простой векторной графики обычных пользователей, так и требования к точности художников компьютерной графики" и основанный на модели PostScript и PDF.

Хотя он еще не утвержден W3C, Музыкальный язык разметки (MusicML: A XML Experience) тем не менее представляет собой интересное приложение XML, в котором Java используется для воспроизведения проверенного парсером MusicML-документа, отражающего музыкальные знаки как изображение не в GIF-формате. Химический язык разметки (Chemical Markup Language, CML) был одним из самых ранних словарей XML, несмотря на то, что он также не был предметом рассмотрения W3C.

Вывод

Говорят, что если HTML делает простые вещи простыми, то XML сделает сложные вещи возможными. Когда в феврале 1998 г. был объявлен выход Спецификации XML 1.0, пресс-релиз сопровождался рядом блестящих рекомендаций от Adobe, IBM, Lotus, Microsoft, Netscape, SoftQuad, и многих других. XML был объявлен мощной технологией для Нового Web, целым новым поколением Web-приложений. Тем не менее, чтобы полностью оценить реальную силу XML, нам надо освободиться от всем известной парадигмы броузера. Мы должны мыслить категориями web-ориентированных приложений, часто не включающих в себя традиционного Web-броузера, но способных обращаться к данным недоступными ранее способами. Когда мы думаем о представлении структуры данных в Web, мы должны это делать в терминах XML, потому что XML имеет такое же отношение к данным, как HTML к их отображению.