Журнал ВРМ World

Мировая история развития технологий управления эффективностью бизнеса – обзоры зарубежных публикаций

Из жизни XML

Нынешний декабрь принес в XML-технологии ряд новинок. Среди них - версия 1.0
Спецификации Комитета для RELAX NG (простого языка схемы для XML), Публичный
рабочий проект Языка определения схемы документа - Document Schema Definition
Language (DSDL) и версия 1.6.0 парсера Apache Xerces-C++ XML, включающего
полную поддержку W3C XML Schema Recommendation.

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

В начале декабря OASIS выпустил RELAX NG Version 1.0 XML Language Validation Specification. Технический комитет OASIS RELAX NG создал версию 1.0 Спецификации Комитета для RELAX NG - простого языка схемы для XML, созданного на базе RELAX (Регулярное описание языка для XML, Regular Language description for XML)и TREX (Ветвящиеся регулряноые выражения для XML, Tree Regular Expressions for XML). В этой версии завершены три принципиально важных элемента:

  1. Сама спецификация RELAX NG, предлагающая окончательный вариант спецификации для RELAX NG, простого языка схемы для XML, созданного на базе RELAX and TREX.
  2. Руководство по RELAX NG.
  3. Документ о соответствии RELAX NG DTD, определяющий типы данных и аннотации для использования в схемах RELAX NG. Назначение этих типов данных и аннотаций состоит в поддержке функциональности XML 1.0 DTD, которые не поддерживаются напрямую в RELAX NG.

RELAX NG предлагает дополнительную альтернативу к рекомендациям W3C XML Schema Recommendation, предлагающую разработчикам возможность простого и мягкого принятия различных языков схемы. По словам Джеймса Кларка (James Clark), владельца компании SoftQuad, специализирующейся на XML-решениях для электронного бизнеса и автора одного из известных XML-ресурсов, ключ к простоте RELAX NG лежит в отсутствии в нем механизмов, свойственных каким-то конкретным XML-приложениям. Вместо этого, RELAX NG концентрируется на синтаксисе XML-документов. Это открывает RELAX NG для использования в различных самых приложениях в качестве собственно XML. Сейчас рассматривается публикация RELAX NG и XML 1.0 в качестве JIS (Японских промышленных стандартов, Japanese Industrial Standards), и INSTAC (Японский центр информационно-технологических исследований и стандартизации, Japanese Information Technology Research and Standardization Centre) планирует подготовить соответствующий проект. Джеймс Кларк обновил ряд программных инструментов и ресурсов для поддержки XML-обработки под спецификацией 1.0 RELAX NG 1.0 Подробнее об этом можно прочитать здесь.

Практически одновременно с этой спецификацией вышел и первый Публичный рабочий проект Языка определения схемы документа - Document Schema Definition Language (DSDL). Подкомитет ISO Subcommittee 34 (ISO/IEC JTC 1/SC34, Information Technology: Document Description and Processing Languages) выпустил первый рабочий проект DSDL. Отредактированный независимым консультантом в области XML-технологий Мартином Брайеном (Martin Bryan), проект Document Schema Definition Language (DSDL) позволяет определять структуры документов, типы и ограничения отношений данных, которые могут применяться к представлению данных с использованием ISO/IEC 8879 Standard Generalized Markup Language (SGML) и его производных - ISO/IEC 10744, Hypermedia/Time-based Structuring Language (HyTime) и Extensible Markup Language (XML). Новый, компактный, эффективный, построенный на базе XML способ определения типа документа для интегрированного описания структур документов, типов и отношений данных сделает возможным автоматизацию обработки структурированных информационных ресурсов до уровня, необходимого для бизнес-пользователей, имеющих более высокие требования по сравнению, например, с представителями издательских компаний, для которых изначально разрабатывался SGML. Этот стандарт позволит также определять спектр и запись конвертации и межсетевого обмена основного подмножества структуры документа, типов и моделей ограничения отношений данных в трех записях: DSDL, определения DTD и XSD. Информативный Алфавитный список DSDL-компонент содержит:

  1. Список DSDL-компонент, общих для SGML и XML, а именно - DSDL-компонент, которые могут использоваться для описания документов, согласующихся с WebSGML-подмножеством ISO/IEC 8879.
  2. DSDL-компоненты, специфические для SGML, а именно - расширения, которые могут вводиться в случае необходимости выражения через DSDL всех возможных конструкций шаблона SGML-документа, а также подмножества WebSGML. Более подробно об этом можно прочитать здесь.

В свою очередь, поставщики решений в области XML также всемерно способствуют популяризации этой технологии. В начале декабря XML Parsers Development, подразделение IBM в Торонто, объявил о выходе релиза версии 1.6.0 парсера Apache Xerces-C++ XML, включающего полную поддержку W3C XML Schema Recommendation. Xerces-C++ является парсером для проверки допустимости XML, написанным на машинонезависимом подмножестве C++. Xerces-C++ облегчает приложениям возможность чтения и записи XML-данных. Для парсинга, генерации, манипуляции и проверки допустимости XML-документов предлагается библиотека общего доступа. Парсер обладает следующими функциями:

  1. Соответствие спецификации XML Specification 1.0.
  2. Отслеживание последних DOM [Уровень 1.0], DOM [Уровень 2.0], SAX/SAX2, пространства имен Namespace и спецификаций XML Schema.
  3. Исходный код, шаблоны и документация.
  4. Программная генерация и проверка допустимости XML.
  5. Сменные каталоги, средства проверки допустимости (валидаторы) и кодировки.
  6. Настраиваемая обработка ошибок.

Последняя версия Xerces-C++ включает порт к FreeBSD и поддержку определения местонахождения схемы через вызов метода. Исходный код и бинарные файлы имеются для нескольких платформ. Более подробную информацию можно получить здесь.

Со своей стороны, компания Microsoft, еще весной 2000 года вызвавшая активный интерес у разработчиков объявлением о своем новом проекте под кодовым названием "HailStorm", в декабре представила бета-версию .NET My Services (бывшего HailStorm). Идея распределенного репозитория данных на основе XML, позволяющего пользователям переносить свою информацию с устройства на устройство и с одного web-сайта на другой в свое время прозвучала очень привлекательно. Однако способ, предложенный Microsoft для защиты этих данных, породил ряд вопросов. Microsoft проработал эти вопросы в бета-версии .NET My Services.

Просмотр бета-кода, презентаций и примеров убедил специалистов в том, что Microsoft действительно сосредоточил свои усилия на природе этих web-сервисов, построенных на базе XML и их функциональности. Microsoft's .NET My Services позволяет управлять документами и электронной почтой, записями адресных книг и календарем.

Одной из задач было обеспечение удобного просмотра подобной информации с различных устройств или платформ без необходимости решения проблем с синхронизацией. С появлением онлайнового устройства, способного работать с.NET My Services, необходимость в болтающемся в кармане пользователя карманном компьютере для электронной почты и проч. навсегда уходит в прошлое. Еще более интересным аспектом является возможность обеспечения другим пользователям возможности доступа к данным пользователя. Спектр сервисов, разрабатываемых компанией Microsoft, достаточно широк и имеет дальние перспективы. Он включает поддержку таких процессов, как определение конкретного устройства для получения электронной почты или предупреждения пользователя и даже привязка информации о географическом положении пользователя к его сервису .NET Location. Microsoft .NET My Services по сути представляет серию распределенных сервисов, с которыми можно работать через SOAP и XML. Данные .NET My Services обслуживаются как XML. Популярность Python вызвала среди разработчиков стремление найти способы его соединения с XML. На сайте www.xml.org представлен пример написанного на Python клиента, соединяющегося с бета-версией .NET My Services. Более детально о применении Python и XML в .NET My Services и способах написания соответствующего кода можно прочитать здесь.

Автор: По материалам зарубежных сайтов