Обеспечение расширяемости языка XML и XML-платформы



Платформа XML

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

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

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

ñ Фундаментальные: InfoSet, Namespace, XML

ñ Структурообразующие: XPointer, XLink

ñ Форматирование и трансформация XML-документов: XSL, XSLT, CSS

ñ Представление метаданных: XML DTD, XML Schema, RDF

ñ Запросы: XQuery

ñ Интефейс прикладного программирования: DOM

ñ Преемственность с Web-1: XHTML, XML Base

ñ Транспортданных: XML-Protocol, XForm

ñ Идентификация информационных ресурсов: URI, URL, URN

ñ Безопасность: XML Signature

ñ Вспомогательные: XInclude, XFragment, XML Canonical, XPath

ñ Вертикальная сфера: MathML.

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

Прежде всего, о роли языка XML. В составе стандартов рассматриваемой платформы он выполняет две важные функции. Прежде всего, он обеспечивает содержательную (структурную) разметку информационных ресурсов, которые называют в рассматриваемой среде XML-документами, а также предоставляет средства (некоторый подъязык XML) для описания общей структуры документов интересующего пользователя типа. Такое описание называется Document Type Definition (DTD). Вместе с тем, как показывает приведенная классификация, язык XML служит одним из фундаментальных стандартов платформы XML. Другие стандарты платформы, которые дополняют его функции, связанные с управлением данными Web, определяются в терминах синтаксиса XML. В связи с этим их называют иногда приложениями XML.

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

Для определения других стандартов платформы служат наряду с XML также стандарты XML Information Set (InfoSet) [6] и Namespaces in XML (Namespace) [7]. Первый из них представляет абстрактный набор данных, используемых в XML-документах, содержит их определения, необходимые для спецификаций стандартов, имеющих дело с правильно построенными XML-документами. Можно сказать, что это своего рода онтологическое описание среды XML-документов для группы стандартов платформы XML, их концептуальная основа. Стандарт Namespace определяет для заданного XML-документа или множества документов допустимые теги разметки и их атрибуты, ассоциируя с ними по умолчанию некоторую семантику. Зарезервированные W3C пространства имен используются в синтаксисе языка XML и других стандартов платформы.

Структурообразующие функции в среде информационных ресурсов Web-2 выполняют языки XPointer [8] и XLink [9], которые предусматривают значительно более богатые возможности по сравнению с HTML для определения гиперсвязей между XML-документами и/или их фрагментами, а также указателей на франгменты XML-документов.

Средства для форматной разметки XML-документов определяют стандарты каскадных таблиц стилей CSS [10] и расширяемого языка таблиц стилей XSL [11]. Заметим, что стандарт CSS используется и как дополнительный к HTML инструмент разметки страниц HTML. Вторая часть стандарта XSL, называемая XSLT [12], позволяет описывать форматные преобразования (трансформации) XML-документов.

Важное место в составе платформы XML занимают стандарты представления метаданных XML Schema [13-15] и RDF [16-17], которые позволяют описывать дополнительные (по отношению к DTD) синтаксические свойства XML-документов, а также их семантику.

Группа рабочих проектов W3C определяет активно разрабатываемый со второй половины 2000 г. стандарт языка запросов XQuery для платформы XML. Указанные документы описывают требования к разрабатываемому языку запросов [18], модель данных [19-20], на которой он базируется, примеры, иллюстрирующие его функциональные возможности [21], а также спецификации синтаксиса XQuery в BNF [22] и в XML [23].

Cтандарт DOM [24] объектной модели XML- и HTML-документов определяет функции интерфейса прикладного программирования для их обработки.

Особое место в рассматриваемом комплексе стандартов занимает недавно принятый W3C стандарт XHTML 1.0 [25]. Он обеспечивает один из возможных путей сохранения преемственности развития среды Web, позволяя использовать на платформе XML информационные ресурсы, накопленные в рамках технологий HTML. Этот стандарт поддерживает средствами XML функциональность текущей версии языка HTML (HTML 4.01) на трех различных уровнях, различающихся степенью полноты ее поддержки. Следует упомянуть здесь также стандарт XML Base [26], который служит для поддержки средствами стандарта XLink некоторых видов гиперссылок, используемых в языке HTML.

Разрабатываемый XML-протокол [5] предназначен для стандартизации процедур обмена XML-данными в среде Web-2. К числу стандартов транспорта данных можно отнести также XForms [27] усовершенствованный и адаптированный к среде XML аналог механизма форм в языке HTML, обеспечивающий передачу данных, например запросов, от Web-клиента к Web-серверу.

В стандартах XML-платформы предусматривается возможность использования более общего по сравнению с URL вида идентификаторов ресурсов – Universal Resource Identifier [4]. Привычный для Web-1 способ идентификации с помощью URL, а также абстрактные имена ресурсов URN, являются частными случаями URI.

Предусматриваются средства обеспечения безопасности передачи XML-документов. Эту задачу решает разрабатываемый стандарт электронной подписи XML-Signature [28].

Комплекс стандартов платформы XML включает также целый ряд вспомогательных стандартов.

Стандарт XPath [29] определяет понятие фрагмента XML-документа, используемое в языках XPointer, XSLT, XQuery и в разработке новой версии DOM. В стандарте XML Inclusions (XInclude) [30] представлены модель и синтаксис для описания слияния XML-документов. Стандарт XML Fragment Interchange [31] позволяет описывать контекст фрагментов XML-документа и благодаря этому просматривать и редактировать их вне полного текста документа. К рассматриваемой группе относится также стандарт Canonical XML [32], который определяет метод, позволяющий устанавливать эквивалентность двух XML-документов с различным синтаксическим представлением. Эта возможность существенна, в частности, для стандарта цифровой подписи [28].

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

Обеспечение расширяемости языка XML и XML-платформы

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

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

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

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

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


Дата добавления: 2015-12-21; просмотров: 66; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!