Xmlbeansxx - Xmlbeansxx
Разработчики) | TouK |
---|---|
Предварительный выпуск | 0.9.1 / 1 апреля 2008 г. |
Репозиторий | |
Тип | Привязка XML |
Лицензия | Apache 2.0 |
Интернет сайт | github |
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 инструмент мультиплатформенной сборки.