лет развития Web были посвящены творческому осмыслению этой технологии и ее адаптации к среде Internet. Следующее пятилетие ушло на совершенствование стандартов и спецификаций, а также на разработку новых предложений в виде языков программирования, объектных моделей и т.п.

Наступает эпоха индустрии Web, которая выдвигает новые требования и новые критерии. Сегодня мы находимся в точке технологического отрыва, на пороге рождения промышленных стандартов «Паутины», которые будут существенно отличаться от того, с чем мы привыкли до сих пор иметь дело, при этом внешне мало что изменится. Основа нового технологического подхода - eXtensible Markup Language (XML).

Известная еще с 1945 года идея гипертекста [1] по-настоящему нашла себя только в WWW, с развитием телекоммуникаций и появлением Internet. Признание к Web пришло в 1995 году с выходом первого RFC (1989 год - предложения Тима Бернерса Ли «Information Management: A Proposal», первые рабочие материалы по HTTP, HTML и URL, первый RFC на тему WWW [2-5]).

Первые пять лет развития Web были посвящены творческому осмыслению технологии и ее адаптации к среде Internet и вычислительным ресурсам пользователей Сети. Следующее пятилетие ушло на совершенствование стандартов и спецификаций, а также на разработку новых предложений в виде языков программирования, объектных моделей и т.п. Постепенно в прошлое отходит время умельцев-энтузиастов, и наступает время профессионалов. Наступает эпоха индустрии Web, которая выдвигает новые требования и новые критерии. Мы находимся в точке технологического отрыва, на пороге рождения промышленных стандартов «Паутины», которые будут серьезно отличаться от того, с чем мы привыкли до сих пор иметь дело, при этом внешне, видимо, мало что изменится. Может быть, появится вариативность гипертекстовых ссылок, подстройка под историю посещения страниц, векторная графика или что-то в этом роде. Но претерпит серьезные изменения.

Основа нового технологического подхода - язык eXtensible Markup Language, впервые представленный на конференции, посвященной SGML, в Бостоне в 1996 году. Ценность XML заключается в том, что он выбран в качестве основы для других спецификаций - фактически речь идет не об отдельном специализированном языке разметки, а о целом семействе языков, образующих стек. Видимо, по этой причине XML отнесен в раздел «Архитектура» Web-узла W3C, где он соседствует с протоколом HTTP.

Переход на стек спецификаций XML позволяет:
  • отдельно описывать структуру данных без привязки к способу отображения;
  • определять форму представления данных независимо от конкретного содержания;
  • создавать метаданные и управлять доступом к данным;
  • преобразовывать содержание и структуру данных;
  • cогласовывать практику применения данных с национальным законодательством;
  • описывать стандартные коммуникативные форматы данных, принятые в различных предметных областях.

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

Исторические параллели и требования

Год 1995 это год Java, несколько в тени остается JavaScript (Netscape использует рекламную компанию Sun), Microsoft неудачно бросается в погоню за лидерами Web, однако расширения HTML от MS не находят должного отклика у авторов HTML-страниц, а VBScript всухую проигрывает соревнование с JavaScript. 1995 год - это еще и год перелома в отношении бизнеса к Web: резко изменяется содержание контента, начинает быстро сокращаться доля некоммерческого сектора. Это год, когда в США исчезает государственный патронаж Internet - сеть отдается на откуп коммерческим провайдерам. В ноябре выходит документ «Giving Information About Other Resources in HTML»(Tim Berners-Lee, David Ragget) [6] где указывается на главное направление развития спецификаций W3C - разработку стандартов описания форматов данных и их источников. Это направление становится доминирующим в деятельности W3C.

В 1996 году продолжаются работы по расширению HTML за счет внесения в его SGML-DTD новых конструкций, предлагается спецификация описания встроенных в документ метаданных, а также расширяются возможности CSS до описания фреймовой структуры. Появляется формат обмена описателями ресурсов (Resource Description Messages) и, наконец, в декабре выходит «HTTP-based Distributed Content Editing Scenarios». Таким образом, продолжается работа по объединению информационных источников Web, только теперь это делается на уровне HTTP-протокола. О стандарте нового протокола речь пока не идет, но тенденция развития, тем не менее, очевидна. При этом все больше осознается ограниченность HTML с точки зрения описания данных и его применения в различных бизнес-приложениях. Список рекомендаций W3C завершается в 1996 году опубликованием спецификации PNG (Portable Network Graphics), двух документов по PICS (Platform for Internet Content Selection) и CSS1 (Cascading Style Sheets Level 1) [7-9]. Последняя спецификация будет пересмотрена только в январе 1999 года. Если учесть, что 14 января 1997 года опубликовано справочное руководство по HTML 3.2[10], то можно смело утверждать, что 1996 год подводит черту под классической Web-технологией со стандартной HTML-разметкой, вершиной которой являются CSS1 и HTML 3.2. Далее начинается переход к новым стандартам.

В 1997 году году список всех сообщений начинается с префикса «An Introduction to Amaya» и предложений «Web Collections using XML». Далее появились спецификации языка разметки портативных устройств, началась работа над стандартами для электронной коммерции и интерфейсами приложений. Анализируется опыт и эффективность использования классических спецификаций (HTTP/1.1, CSS1 и PNG), но основное внимание сосредоточено на моделях данных и описании контекста их применения. В этом ключе были выполнены работы по описанию метаданных на XML, проанализированы способы применения гипертекстовых ссылок в HTML, предложены методы совершенствования CSS, которые вылились в документ «A Proposals for XSL». Логическим завершением этой работы стало два документа: «W3C Data Formats»[11] и «Introduction to RDF Metadata». В первом Тим Бернерс Ли объясняет стратегию разработки стандартов языков W3C и политику миграции со старой платформы (SGML, HTML, CSS, PICS) на новую (XML, RDF, P3P и др.). Фактически, это программа развития Web-технологии, адекватная требованиям процессов типа «business-to-business» и сложившимся на данный момент технологиям обработки данных. Второй документ объясняет, как, собственно, это будет происходить. Его основная тема - метаданные (данные о данных). Сюда относятся описания структуры документа, схемы баз данных, схемы поисковых образов и т.п. После публикации этих документов начинаем декларироваться стековая архитектура языков данных Web, хотя по традиции это все продолжают называть языками разметки.

С этого момента начинается наполнение схемы Тима Бернерса-Ли [11] реальным содержанием, которое в конечном итоге должно привести к коренным изменениям основ Web-технологии, сохраняя при этом преемственность доступа к существующим информационным ресурсам Всемирной паутины. Так, в 1998 году консорциум W3C опубликовал сразу шесть рекомендаций, из которых следует отметить первую версию спецификации XML [12], выпуск новой спецификации CSS2 [13] и спецификацию Объектной Модели Документа (DOM) [14]. Эти документы легли в основу той схемы, которую нарисовал Тим Бернерс-Ли в 1997 году [11].

В рабочих материалах W3C в 1998 году особое внимание уделяется развитию XML в части описания гипертекстовых связей (Xpointer и Xlink), разработке спецификации стилей для XML (XSL), масштабируемой графике и, что характерно, основе Web-обмена - новому набору протоколов HTTP-NG. Консорциум изменяет подход к разработке протоколов обмена, превращая унитарный протокол HTTP/1.1 в стек протоколов прикладного уровня. В это время формулируются краткосрочные и перспективные цели деятельности по разработке протоколов, создается модель стека, вносятся предложения по спецификациям интерфейсов и т.п. В сообщениях W3C 1998 доминируют четыре темы: графика и Web, распределенный контекст и его обработка, XML - как база построения различных языков, в том числе поисковых и реализующих объектную модель документа.

Начало 1999 года стало продолжением рекомендательной деятельности W3C. Начинает обретать реальные очертания Resource Description Framework (RDF) - второй слой языковых спецификаций, который наращивается поверх XML. Выходят в свет два основных документа: спецификация RDF [15] и рекомендация по областям действия имен XML [16], которая теснейшим образом связана с RDF. В качестве рабочих материалов начала 1999 года следует выделить новую спецификацию DOM2 и начало разработки серии спецификаций по XHTML (eXtansible Hypertext Markup Language) [17], задающей правила описания HTML 4.0 в терминах XML, что открывает дорогу написанию нового поколения браузеров, которые будут способны поддерживать как старые, так и новые стандарты и рекомендации W3C. Первая ласточка - это программа IE 5.0, которая, правда, пока представляет собой прототип, а не реальный программный продукт, построенный на новых принципах.

При такой популярности WWW ISO не могла оставаться в стороне от процесса стандартизации спецификаций Web. Стандарт ISO 8879 SGML - «дедушка» всех новых языков разметки, которые предлагает W3C. Да и другие менее популярные национальные стандарты, например, Z39.50 также получили свои ISO-реализации. Однако материалы ISO некорректно сравнивать с сообщениями или рабочими материалами W3C. ISO рекомендации, в силу их законности, сравнимы только с рекомендациями W3C. При таком сравнении можно отметить один интересный факт. В 1996 году ISO выпускает документ ISO/IEC 10179[18] - спецификация языка описания и семантики стилей документов Document Style Semantics and Specification Language (DSSSL), а W3C в этом же году выпустила описание CSS1. Следует подчеркнуть, что DSSSL - гораздо более продуманная и сложная спецификация, практически покрывающая многие возможности следующей версии - CSS2, которая появилась двумя годами позже.

В наборе документов ISO имеется также спецификация языка, универсальным способом описывающего документы hypermedia - ISO/IEC 10744 HyTime[19]. Язык HyTime, объединяющий в себе XML и RDF, предназначен для описания динамических документов гипермедиа и интегрирован по модели данных с DSSSL. В обоих случаях используется объектный подход древовидная модель вложенных классов объектов. Кроме того, HyTime предлагает некоторые расширения SGML, оставляя SGML роль языка описания формальных спецификаций языков описания документов, структур документов и других метаданных.

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

Структура спецификаций W3C

Подход Тима Бернерса-Ли к разработке спецификаций Web[11] иллюстрируется довольно простой и понятной схемой (рис.1), в левой части которой расположены протоколы, составляющие основу текущих спецификаций, а в правой - новое семейство протоколов описания данных Web.

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

В качестве основы представления данных в W3C выбран принцип контекстной разметки, заимствованный из SGML, на котором был определен HTML. Следует отметить, что HTML - это некий синтез различных спецификаций Web, вобравший в себя и URI в виде URL, и HTTP в виде http-equiv - модификации элемента разметки meta, и фрагменты программного кода в виде элементов script, applet, embed и object, и таблицы стилей в атрибутах элементов разметки и элементе style. Поэтому очевидно, что надстраиваемый HTML - это прототип новой спецификации. Но этот прототип сковывает возможности развития спецификаций, т.к. предназначен в первую очередь для определения правил отображения и навигации, а вовсе не для работы, скажем, с базами данных или информационно-поисковыми системами.

Рис.1 Структура спецификаций W3C (октябрь 1997 г.)

В этой связи следует заметить, что в схеме на рис 1. отсутствует очень важный компонент современной Web-технологии - каскадные таблицы стилей (Cascading Style Sheets). Попытка ввести в HTML компоненты разметки, правила отображения которых не прописывались бы в документе, а определялись в момент отображения, делалась еще в HTML 1.0. Достаточно вспомнить стилевые элементы типа quota, em и т.п. Однако в то время шло освоение технологии, и спецификации имели тенденцию к упрощению. Начинающие авторы предпочитали использовать b и i - это было понятнее и проще. Тогда же отказались от тегов окончания в пустых элементах и смирились с пропуском тегов, определяющих структуру самого документа.

Процесс деградации спецификаций под натиском непрофессионалов завершился в 1995 году, а программирование на JavaScript заставило более строго описывать структуру документа. Смешивать элементы разметки оглавления документа и его тела стало непозволительной роскошью, однако победить упрощенческий подход к разметке не удалось: bold и italic все равно понятнее, чем emphased - удалось обобщить упрощение. С внедрением CSS появилась возможность управлять процессом отображения документа, а также хранить описание отдельно от документа и подгружать в нужный момент. Иначе говоря, контент оказался отделенным от описания способов своего отображения, что соответствует давно принятой в программировании норме, когда программа отделяется от данных. Хранение стилей отдельно от документа - это пример изменения технологии производства Web-узлов. Теперь стиль узла можно разрабатывать отдельно от наполнения узла содержанием, что дает возможность долговременного существования независимых дизайнерских групп, которые могут не заниматься сопровождением созданных ими Web-узлов, передавая заказчику готовый «скелет».

Рис: 2. Структура W3C спецификаций в начале 1999 года

Спецификация CSS носит декларативный характер, что провоцирует специалистов W3C перевести CSS в формат некоторого обобщенного языка разметки, в качестве которого на рис. 2 выступает XML. Таким образом на свет появился расширяемый язык описания стилей XSL (eXtansible Style Language) [21].

Отсутствие спецификации стилей в 1997 году объясняется, видимо, двумя причинами. Во-первых, на тот момент описание CSS1 только появилось. Во-вторых, как это стало известно широкой публике в начале 1999 года, Microsoft еще в 1995 году подала заявку на патент для CSS. Аналогичная заявка подана и на XSL, но пока не удовлетворена. Видимо, это и стало причиной отсутствия CSS в схеме основоположника Web. О заявке тогда было известно, судя по тому, что Netscape представила свою форму CSS, основанную на JavaScript. Надо сказать, что здесь тоже возможны проблемы. JavaScript-схемы так или иначе упираются в DOM, а в этой сфере Microsoft удалось перехватить инициативу у Netscape. MS JScript- это вовсе не JavaScript от Netscape, хотя и совместим с ним. Кроме того, сейчас идет активная работа над ECMA[20] - обобщении JavaScript и JScript. В этой работе первенство Microsoft бесспорно. Правда, защитить данную спецификацию патентом Microsoft не удастся, но и у Netscape руки связаны - что-либо менять в стандартах ISO может только ISO (Sun уже с этим столкнулась). Вообще говоря, действия Microsoft могут серьезно повлиять на все Web-сообщество. Для этого достаточно контролировать поддержку CSS и тем самым задушить всех конкурентов. Поэтому сейчас развернулась кампания под лозунком «Microsoft, оставь стандарты Web открытыми». Что из всего этого получится, пока не ясно.

Стрелочка на рис.2, которая связывает XML через XSL с XHTML, показывает, что XSL - это трансформация XML-структуры в XHTML-разметку, т.е. преобразование документов из одного формата в другой, а если быть более точным и учесть современные взгляды на документ как на структуру типа дерево (Document Object Model), то это преобразование одного графа в другой. XHTML - расширяемый язык гипертекстовой разметки) - это подмножество XML. С одной стороны, он похож на HTML, а с другой - наследует все свойства XML. RDF (Resource Description Framework) - это еще одна обширная ветвь работ W3C, которая замыкается на то, что принято называть метаданными. В W3C эти работы начались с борьбы за нравственность и авторское право - спецификация PICS. Но не менее важным стал и другой способ применения метаданных - создание поиcковых образов для информационно-поисковых систем.

Состав и структура стека спецификаций

Рассмотрим теперь основное назначение компонентов нового стека в направлении «снизу вверх» и определим, насколько они совместимы со старыми.

XML. В основе всех спецификаций лежит XML. Это значит, что и PICS 2.0, и XHTML - суть XML документы. XML - это расширяемый язык разметки, который является одним из клонов SGML, не заменяющим собой HTML. У этих двух языков совершенно разное назначение. У XML две главных задачи: обеспечить описание структуры данных и обеспечить общий синтаксис для всех других спецификаций. Язык не указывает, как надо отображать документ, он только описывает его структуру и содержание. Термин «документ» в этом контексте не совсем уместен, но это уже наследство HTML и современной практики Web.

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

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

XSL состоит из двух частей: спецификации преобразований (transformation) и спецификации объектов форматирования (formating objects). Назначение первой - определить возможные способы преобразования XML-конструкций в форму, пригодную для отображения, задача второй - обобщить свойства отображаемых объектов и классифицировать эти объекты. Трансформации - это абсолютно новый подход для W3C. Дело в том, что до сих пор удавалось удержаться в рамках декларативного подхода к описанию языков, а языки предполагали, что интерпретатор (parser) просто фильтрует входной поток и преобразует его, сопоставляя с шаблоном. XSLT(eXtansible Style Languge for Transformation) частично содержит инструкции преобразования, являясь чем-то средним между декларативным языком и процедурным, в нем имеется даже специальная конструкция function - все это наследие DSSSL. Объекты форматирования- это отображение CSS в формат XML.

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

Это текст из первой части

Во-вторых, пустые элементы типа


,

, и т.п. должны быть записаны как пустые XML-элементы
,

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

Символы типа «%» или «&» имеют в XML специальное значение, следовательно, их нужно маскировать. Такая строгость правил вытекает из двух свойств XML: документы должны быть синтаксически правильными и должны обеспечивать «вычисляемость» (validating). Первое требование связано с необходимостью построения дерева объектов в соответствии с DOM, а второе - с возможностью реализации подстановок, в том числе рекурсивных, как на стороне сервера, так и на стороне клиента. Кроме того, именно «вычисляемость» позволяет реализовать расширяемость XHTML за счет подключения определений типа документов (Document Type Definition — DTD). В связи с этими требованиями возникает необходимость и в особом синтаксисе для размещения таблиц стилей и скриптов внутри документов. Для этого случая используется следующая конструкция:


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

В рамках XHTML существуют определенные ограничения и на комбинации элементов разметки:

a - не может содержать других a-элементов;

pre - не может содержать img, object, big, small, sub, sup; button - не может содержать input, select, textarea, label, button, form, fieldset, iframe, isindex; label - не может содержать label; form - не может содержать form.

Любопытно, что запрет на такие вложения, как указывают авторы спецификации, нельзя реализовать в рамках XML - для этой цели необходимо использовать механизм исключений SGML (exclusions). Это тем более интересно, что даже на таком простом и насущном для использования в Web примере каким является преобразование HTML в XHTML, а, по сути, и в XML, происходит потеря качества спецификации. Организовать строгую синтаксическую проверку документа без привлечения SGML parser оказывается невозможно. Для XHTML создано три DTD: strict, transitional и frameset, а сам документ обязан содержать указание на одну из этих DTD:




Минимальный XHTML-документ может выглядеть следующим образом:

The first part with a

hypertext link

and

image:

Атрибут xmlns элемента html определяет описания имен и их область действия в рамках документа. Это одно из свойств XML - в XHTML- документе можно использовать имена элементов, определенные для других спецификаций разметки, например, для MathML:


The first part with MathML part 3 x

Возможно и обратное - использование XHTML внутри других XML-документов:



1568591379

Первая часть книги hypertext link

and

image:

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

Следует отметить, что XHTML - это перенос на XML-синтаксис стандарта HTML 4.0. Это не совсем то, что реально используется в Web, но с точки зрения общего развития технологии, XHTML хорош как демонстрация общих принципов построения спецификаций нового поколения.

PICS. На рис. 1 и 2 присутствуют еще несколько спецификаций, вокруг которых в W3C сегодня идет оживленная дискуссия - спецификации контроля за доступом к ресурсам PICS и о правах собственности на ресурсы P3P (Platform for Privacy Preference). Российский сектор Web пока никак не реагирует ни на PICS, ни на P3P.

PICS - это спецификация меток, которые можно ассоциировать с содержанием документов. Первоначально она разрабатывалась как «помощь родителям и учителям в контроле за содержанием Internet-ресурсов, которые просматривают дети» (http:// www.w3.org/PICS). Если рассматривать PICS в более широком контексте, то это механизм, предназначенный для контроля за соблюдением ограничений, введенных законодательством страны или владельцем ресурса на распространение информации определенного содержания. PICS позволяет реализовать систему фильтров между пользователем (читателем) и информационным ресурсом, который он просматривает. Фильтр может быть установлен пользователем, владельцем ресурса или третьей стороной, например, провайдером, для обеспечения требований национального законадательства.

Перечислим пять основных компонентов PICS.
  • Синтаксис для описания системы ранжирования информационных ресурсов.
  • Синтаксис для описания меток. Каждая метка описывает отдельно взятый документ или набор документов. Метка может быть подписана или зашифрована.
  • Механизм встраивания меток в документы.
  • Расширение HTTP-протокола, для передачи меток.
  • Синтаксис запросов к базе данных меток (a label bureau).

Для использования PICS на компьютере пользователя должно быть установлено ПО, поддерживающее PICS-метки.

Существует три возможности настройки PICS-фильтров: на стороне клиента (реализованы в браузерах IE и Netscape), в сети (сервисы типа SyberPatrol и SurfWatch) и на proxy-серверах. PICS не определяет саму систему ранжирования и принципы ее функционирования - определен только формат меток. В сущности, фильтры можно поставить на все, что угодно, а не только на информацию «для взрослых».

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

((PICSversion-1.1)
(rating-system "http://MPAAscale. org/Ratings/DEscription")
(rating-service "http://MPAAscale. org/v1.0")
(icon "icons/MPAAscale.gif")
(name "The MPAA`s Movie-rating
Service")
(description " A rating service based on the MPAA`s movie-rating scale")
(category
(transmit-as "r")
(name "Rating")
(label (name "G") (value 0)
(icon "icons/G.gif"))
label (name "PG") (value 1)
(icon "icons/PG.gif"))
(label (name "PG-13") (value 2)
(icon "icons/PG-13.gif"))
(label (name "R") (value 3)
(icon "icons/R.gif"))
(label (name "NC-17") (value 4)
(icon "icons/NC-17.gif"))))

Получать метки для фильтрации можно тремя способами. Во-первых, встраивать метку в HTML-документ:

… … …

Во-вторых, передавать метку в заголовке HTTP-отклика. При этом клиент может запрашивать метку:

GET / foo.html HTTP/1.1
Host: ...
Accept-Protocol: {PICS-1.0 
{params full {services 				
           "http://www.gcf.org/1.0/"}}}

и получать отклик:
HTTP/1.1 200OK
Date: Wednesday, 30-Jun-99 17:51:47 GMT
MIME-version: 1.0
Last-modified: Tuesday, 
			29-Jun-99 17:51:47 GMT
Protocol: {PICS-1.0 {headers 
				PICS-Label}}
PICS-label: ...label here
Content-type: text/html

..... content ...

Кроме того, метки можно просто запрашивать из базы данных меток (label bureau):

GET /Ratings?opt=generic& u=http%3A%2F%2Fwww.questionable.org%2Fimages"&s="http%3A%2F%2Fwww.gcf.org% 2Fv2.5" HTTP/1.0

В данном случае из базы запрашивается метка для ресурса http://www.questionable.org/images.

Ограничения PICS достаточно просты и понятны. Если нет программного обеспечения для обработки меток, или оно неправильно настроено, то никакой фильтрации не будет. Видимо, по этой причине в российском секторе сети к PICS не проявляют особого внимания. Следует заметить, что перевод PICS в формат XML (PICS 2.0) и внедрение его в системы intranet может изменить это вялое отношение. Достаточно реализовать систему централизованной настройки процедуры удаленной загрузки типа Nеtwork on Demand от IBM, которая предлагается для систем электронной коммерции, и отношение к PICS станет другим.

P3P. Еще одно направление работ W3C связано с правами на информационный ресурс. До сих пор не ясно, как относиться к ссылкам на публикации в сети. Является ли ссылка на Web-страницу равнозначной ссылке на печатную публикацию? Как может быть защищено право автора или издателя на электронную публикацию? На эти и другие вопросы призвана ответить спецификация P3P.

Идея P3P достаточна проста. Сервер, на который приходит запрос от клиента, извещает последнего о фактах применения прав на данном Web-узле. При этом он через URI сообщает ареал страниц, на которые распространяются права. Предложение сервера разбирается клиентом, например, браузером, и сравнивается с настройками, заданными пользователем клиента. Если политика сервера соответствует политике пользователя, то клиент автоматически посылает на сервер подтверждение (fingerpoint), которое называют propID. В противном случае клиент уведомляет пользователя о несовпадении политик и предлагает ему разрешить эту коллизию.

Пример описания на естественном языке:

CoolCatalog, makes the following statment for the Web pages at http:// www.CoolCatalog.com/catalogue/. We collect clicstream data in our HTTP logs. We also collect your first name, age, and gender to customize our catalog pages for the type of clothing you are likely to be intrestined in and for our own research and product development. We do not use this information in a personally-identifiable way. We do not redistribute any of this information outside of our organization. we do not provide access capabilities to information we may have from your, but we do have retention and opt-out policies, which you can read about at our privacy page http://CoolCatalog.com/

PrivacyPractice.html. The third party PrivacySeal.org provides assurance thet we abide by this agreement. и в синтаксисе P3P:


















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

Кроме рассмотренных предметно-ориентированных спецификаций, которые развиваются на базе XML-синтаксиса, в W3C подготовлено еще несколько стандартов, например: Xlink, Xpointer, DCD, MML и др. Некоторые из них непосредственно надстраиваются над XML, другие по верху спецификации RDF или XSL. Возможно появление и других стеков спецификаций.

Три тега разметки и библиотека описаний

Как в языке программирования Cи основная мощь сосредоточена не в операторах, а в стандартных библиотеках функций, так и в XML наибольшая нагрузка ложится на DTD и варианты его применения: RDF, XSL, Xlink, Xpointer и т.п. Если рассматривать XML просто как нотацию некоторой разметки, то весь язык сводится к нескольким правилам:

  • тег начало XML-разметки;
  • три тега разметки (полный элемент разметки и пустой элемент разметки);
  • обязательное применение кавычек у значений;

Это, конечно, очень упрощенный подход к языку, но он показывает, что XML - это не только и не столько язык разметки, сколько условное название всего комплекса разобранных в статье спецификаций. Напомним, что «разбор» XML-записи нельзя реализовать без DTD - наследства SGML. Работа с метаинформацией возможна только при использовании RDF, а для этого требуется прописать RDF namespace. Отобразить же XML можно только либо с использованием CSS и XSL. И этот перечень можно продолжать. При этом кроме спецификаций, еще нужно договориться об их интерпретации. XML - это всего лишь язык описания структуры данных, и он не дает ответа на вопрос о том, как эти данные должны интерпретироваться.

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

Об авторах

Евгения Булах: (jane@actis.ru); Ирина Кузина: (ira@citmgu.ru); Павел Храмцов: (paul@kiae.su) - сотрудники РНЦ «Курчатовский Институт», (Москва).

Литература

[1] Vannevar Bush. As We May Think. The Atlantic Monthly, July 1945 (http://www.theatlantic.com/unbound/flashbks/computer/bushf.htm)

[2] Tim Berners-Lee, Information Management: A Proposal. CERN, March 1989, May 1990 (http://www.w3.org/History/1989/proposal.html)

[3] T.J. Berners-Lee, R. Cailliau, J-F Groff, B. Pollermann, CERN, «WWW: An Information Infrastructure for High-Energy Phsyics», Presented at «Articicial Inteligence and Software Engineering for High Energy Physics» in La Londe, France, January 1992. Proceedings to be published by World Scientific, Singapore, ed. D Perret-Gallix.

[4] Tim Berners-Lee,Universal Resource Identifiers in WWW, RFC 1630, 1994 (http://www.w3.org/Addressing/rfc1630.txt)

[5] W3C Technical Reports and Publications. W3C, 1999 (http://www.w3.org/TR/)

[6] Tim Berners-Lee , Dave Raggett. Giving Information About Other Resources in HTML W3C Working Draft 20-Nov-95 (http://www. w3.org/MarkUp/Resource/Specification)

[7] Jim Miller, Paul Resnick and David Singer. PICS 1.1 Rating Services and Rating Systems — and Their Machine Readable Descriptions . W3C, 31 October 1996

[8] Tim Krauskopf, Jim Miller, Paul Resnick and Win Treese. PICS 1.1 Label Distribution — Label Syntax and Communication Protocols. W3C 31 October 1996

[9] Hakon W. Lie and Bert Bos. Cascading Style Sheets (CSS1) Level 1 Specification. W3C, 17 December 1996, revised 11 January 1999

[10] Dave Raggett. HTML 3.2 Reference Specification. W3C, 14 January 1997

[11] Tim Berners-Lee. W3C Data Formats. W3C, 29 October 1997

[12] Tim Bray, Jean Paoli, C. M. Sperberg-McQueen. Extensible Markup Language (XML) 1.0 Specification 10 February 1998

[13] Bert Bos, Hakon Wium Lie, Chris Lilley, Ian Jacobs. Cascading Style Sheets, level 2 (CSS2) Specification. W3C, 12 May 1998

[14] Vidur Apparao, Steve Byrne, Mike Champion, Scott Isaacs, Ian Jacobs, Arnaud Le Hors, Gavin Nicol, Jonathan Robie, Robert Sutor, Chris Wilson, Lauren Wood. Document Object Model (DOM) Level 1. W3C, 1 October 1998

[15] Ora Lassila, Ralph R. Swick. Resource Description Framework (RDF) Model and Syntax Specification. W3C, 22 February 1999

[16] Tim Bray, Dave Hollander, Andrew Layman. Namespaces in XML. W3C, 14 January 1999

[17] Steven Pemberton, et. al. Extensible HTML 1.0: W3C Working Draft, 4 March 1999.

[18] ISO/IEC 10179:1996 Information technology — Processing languages — Document Style Semantics and Specification Language (DSSSL).

[19] ISO/IEC 10744:1997 Information technology — HyTime

[20] ISO/IEC 16262:1998 Information technology - ECMAScript language specification

[21] Sharon Adler, Anders Berglund, Jeff Caruso, Stephen Deach, Alex Milowski, Steve Zilles. Extensible Stylesheet Language 21 April 1999.

Мифы XML
  1. XML проще, чем SGML.

    Если XML рассматривать только как три вида тага разметки, то конечно проще. Если создавать свое собственное описание DTD, то о простоте можно забыть.
  2. XML заменит HTML.

    XML - язык описания структуры информации, тогда как HTML - язык описания представления информации. Синтаксис XML может использоваться для новых версий HTML (XHTML). Эти языки различные по своему функциональному назначению.
  3. XML вытеснит и заменит SGML.

    По сути дела XML - это подмножество SGML. С высоты SGML XML - это тот же SGML.