Xmlbeansxx - Xmlbeansxx

xmlbeansxx
Разработчики)TouK
Предварительный выпуск
0.9.1 / 1 апреля 2008 г. (2008-04-01)
Репозиторий
ТипПривязка XML
ЛицензияApache 2.0
Интернет сайтgithub.com/ TouK Отредактируйте это в Викиданных

xmlbeansxx это программная среда за C ++ к Привязка XML. это программное обеспечение с открытым исходным кодом под лицензией Лицензия Apache 2.0.

Описание

xmlbeansxx - это инструмент, позволяющий получить доступ к XML удобным для C ++ способом. Он похож на Apache и вдохновлен им. XMLBeans проект. Подобно XMLBeans, xmlbeansxx предоставляет Определение схемы XML (XSD) в генератор кода C ++. Сгенерированный код можно позже вызвать для доступа к данным документа экземпляра XML.

Пример

Учитывая пример простого определения схемы XML, описывающего заказ на покупку, как показано в примерах из пакета распространения Apache XMLBeans, следующий код обрабатывает печать элементов из файла easypo.xml:

#включают "EasyPO.h"#включают <iostream>#включают <fstream>с помощью пространство имен стандартное;с помощью пространство имен xmlbeansxx;с помощью пространство имен xmlbeansxx::образцы::перечисление::schemaenum::easypo;int главный() {    пытаться {        fstream в("easypo.xml", iOS::в);        PurchaseOrderDocument poDoc=PurchaseOrderDocument::Фабрика::разбирать(в);        LineItem giftLineItem = poDoc.getPurchaseOrder().addNewLineItem();        giftLineItem.setDescription(нить("Календарь"));        giftLineItem.Установить цену(3);        giftLineItem.setQuantity(6);        giftLineItem.setPerUnitOunces(10);        вектор<LineItem> обр = poDoc.getPurchaseOrder().getLineItemArray();        за (беззнаковый я=0; я < обр.размер() ; я++) {            cout << "элемент: " << я << " п";            cout << " - описание:     " << обр[я].getDescription() << " п";            cout << " - количество:        " << обр[я].getQuantity() << " п";            cout << " - цена:           " << обр[я].getPrice() << " п";            cout << " - количество:          " << обр[я].getQuantity() * обр[я].getPrice() << " п";        }        cout << "Xml: п" << poDoc.нанизывать() << " п";    } ловить (BeansException &бывший) {        cout<<"BeansException:"<<бывший.getMessage()<<" п";    }    возвращаться 0;}

История

Проект xmlbeansxx начался в 2004 году как попытка реализовать часть Apache XMLBeans на C ++. Целью проекта было создание инструмента привязки XML на основе лицензии с открытым исходным кодом для использования в коммерческих проектах. Его успешно использовали в компании TouK в нескольких коммерческих проектах. xmlbeansxx с годами эволюционировал, чтобы соответствовать текущим требованиям, поэтому он сильно изменился по сравнению с первоначальной версией.

Проект под названием xmlbeanscxx был отправлен в The Инкубатор Apache в 2005 году. Однако особых усилий по развитию не было, в основном потому, что одна из поддерживающих компаний решила изменить свои цели и уйти. Проект все еще находится в разработке в компании TouK, первоначальном участнике.

Поддерживаемые компиляторы

Первоначально xmlbeansxx поддерживался на Коллекция компиляторов GNU. Начиная с 2008 года, версия 0.9.1 также поддерживала Microsoft Visual Studio компилятор. Это было сделано с использованием CMake инструмент мультиплатформенной сборки.

Смотрите также

внешняя ссылка