Журнал ВРМ World

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

Что прикажете: JAXB или W3C XML Schema?

Компания Sun выпустила версию 0.7 спецификации JAXB, включающую частичную
поддержку W3C XML Schema.

Компания Sun выпустила версию 0.7 спецификации JAXB (Java Architecture for XML Binding, Архитектура Java для связывания XML), которая включает частичную - и весьма спорную - поддержку W3C XML Schema.

JAXB определяет архитектуру и интерфейсы прикладного программирования (APIs), которые позволяют связывать объекты Java и фрагменты XML. Подобно существующим разработкам, как, например, Castor или Zeus, JAXB опирается на схемы для определения структуры XML-документов.

Известный автор учебников по Интернет технологиям Эллиотт Расти Хэрольд (Elliotte Rusty Harold) выступил с резкой критикой этого подхода на своем Web-сайте Cafe Con Leche:


"JAXB компилирует схему XML в один или несколько классов Java. (Первая ошибка - JAXB предполагает, что имеется схема. Вторая ошибка - допускается, что эта схема написана на языке W3C XML Schema. И третья ошибка - предполагается, что документы действительно соответствуют этой схеме.)"


Менее воинственно настроенные читатели, однако, заметят, что в JAXB четко указана "частичная поддержка" W3C XML Schema, при этом определен как список свойств, которые должна поддерживать разработка, чтобы заслужить "титул" JAXB, так и перечень факультативных свойств, которые могут быть просто опущены.

Необходимо отметить, что этот список факультативных свойств включает ограничения целостности XPath и множество так называемых объектно-ориентированных свойств W3C XML Schema:

  • переопределения,
  • подстановки типов,
  • группы подстановки,
  • атрибуты управления выводом.

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

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