Введение
XMLBeans — это фреймворк для связывания Java и XML, являющийся частью проекта XML Apache Software Foundation.
Описание
XMLBeans – это инструмент, позволяющий использовать всю мощь XML удобным для Java способом. Основная идея заключается в том, чтобы воспользоваться богатством и возможностями XML и XML Schema и максимально естественно сопоставить эти функции с эквивалентными конструкциями языка Java и типизации. XMLBeans использует XML Schema для компиляции Java-интерфейсов и классов, которые затем можно использовать для доступа и изменения данных XML-экземпляра. Работа с XMLBeans аналогична работе с любым другим Java-интерфейсом или классом: с методами, такими как getFoo или setFoo, как и при работе с Java. Хотя основное применение XMLBeans – это доступ к данным XML-экземпляров с использованием строго типизированных Java-классов, существуют также API, обеспечивающие доступ к полному XML-инфосету (XMLBeans сохраняет точность XML-инфосета), а также позволяющие осуществлять рефлексию в самой XML-схеме через объектную модель XML Schema.
Характеристики XMLBeans
Большая поддержка XML-схем. Большая поддержка XML Infoset. Большая поддержка XML-схем: XMLBeans полностью поддерживает XML-схемы, а соответствующие классы Java предоставляют средства для реализации всей основной функциональности XML-схем. Это критически важно, поскольку часто разработчик не имеет контроля над необходимыми функциями XML-схем для работы в Java. Кроме того, приложения, ориентированные на XML-схемы, могут в полной мере использовать возможности XML-схем и не ограничиваться их подмножеством. Большая поддержка XML Infoset: при демаршализации экземпляра XML сохраняется полный XML Infoset и становится доступным для разработчика. Это важно, поскольку данный набор XML нелегко представить в Java. Например, порядок элементов или комментарии могут потребоваться в конкретном приложении.
Цель
Основной целью XMLBeans была его применимость во всех ситуациях программирования XML, не связанных с потоковой обработкой (в памяти). Разработчик должен иметь возможность компилировать свою XML-схему в набор классов Java и быть уверенным, что он сможет:
использовать XMLBeans для любой схемы, с которой он столкнется. получать доступ к XML на любом необходимом уровне без использования дополнительных инструментов.
История
Дэвид Бау был главным разработчиком проекта XMLBeans 1.0, работая в BEA. XMLBeans берёт своё начало от XMLMaps, инструмента для связывания XML, который входил в состав предыдущих продуктов BEA WebLogic. Первоначально XMLBeans разрабатывался как часть проприетарного фреймворка BEA WebLogic Workshop, но из интервью, данных во время его первого анонса 27 января 2003 года, стало ясно, что BEA хотела сделать его открытым стандартом. В то время ещё не было решено, какую организацию BEA хотела привлечь к усилиям по стандартизации. Позже в том же году проект был передан в Apache Software Foundation. В первоначальную команду входили Сезар Кристиан Андрей и Эрик Василик, а затем к ним присоединились Клифф Шмидт и Раду Преотиук Пьетро, Джейкоб Даннер, Кевин Крус и Уинг Ю Пун. В настоящее время разработка XMLBeans ведётся Apache POI. 27 января 2003 года: BEA анонсировала XMLBeans как технологический превью. 24 сентября 2003 года: BEA передала XMLBeans в Apache Software Foundation, где он присоединился к проекту Apache Incubator. 23 апреля 2004 года: выпущена версия XMLBeans 1.0.2. Это первый релиз из проекта "Инкубатор". 25 июня 2004 года: XMLBeans покинул проект Apache Incubator и стал проектом первого уровня. 30 июня 2005 года: выпущена версия XMLBeans 2.0. 16 ноября 2005 года: выпущена версия XMLBeans 2.1. 23 июня 2006 года: выпущена версия XMLBeans 2.2. 1 июня 2007 года: выпущена версия XMLBeans 2.3. 8 июля 2008 года: выпущена версия XMLBeans 2.4. 14 декабря 2009 года: выпущена версия XMLBeans 2.5. 14 августа 2012 года: выпущена версия XMLBeans 2.6. 23 мая 2014 года: XMLBeans был официально снят с поддержки, и активная разработка была временно приостановлена. 29 июня 2018 года: XMLBeans был "возобновлён", и Apache POI взял на себя активную разработку.