Jump to content

xmlbeansxx

xmlbeansxx
Разработчик(и) ТуК
Предварительный выпуск
0.9.1 / 1 апреля 2008 г. ( 01.04.2008 )
Репозиторий
Тип XML-привязка
Лицензия Апач 2.0
Веб-сайт github /ТоуК  Edit this on Wikidata

xmlbeansxx — это программная платформа для C++ к привязки XML . Это программное обеспечение с открытым исходным кодом, лицензированное по лицензии Apache License 2.0.

Описание

[ редактировать ]

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

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

#include "EasyPO.h"
#include <iostream>
#include <fstream>

using namespace std;
using namespace xmlbeansxx;
using namespace xmlbeansxx::samples::enumeration::schemaenum::easypo;

int main() {

    try {
        fstream in("easypo.xml", ios::in);
        PurchaseOrderDocument poDoc=PurchaseOrderDocument::Factory::parse(in);

        LineItem giftLineItem = poDoc.getPurchaseOrder().addNewLineItem();
        giftLineItem.setDescription(string("Calendar"));
        giftLineItem.setPrice(3);
        giftLineItem.setQuantity(6);
        giftLineItem.setPerUnitOunces(10);

        vector<LineItem> arr = poDoc.getPurchaseOrder().getLineItemArray();
        for (unsigned i=0; i < arr.size() ; i++) {
            cout << "item: " << i << "\n";
            cout << " - description:     " << arr[i].getDescription() << "\n";
            cout << " - quantity:        " << arr[i].getQuantity() << "\n";
            cout << " - price:           " << arr[i].getPrice() << "\n";
            cout << " - amount:          " << arr[i].getQuantity() * arr[i].getPrice() << "\n";
        }

        cout << "Xml:\n" << poDoc.toString() << "\n";

    } catch (BeansException &ex) {
        cout<<"BeansException: "<<ex.getMessage()<<"\n";
    }
    return 0;
}

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

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

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

[ редактировать ]

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

См. также

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3bc3f53fdf50dabdf0763dd2d29919a9__1705158180
URL1:https://arc.ask3.ru/arc/aa/3b/a9/3bc3f53fdf50dabdf0763dd2d29919a9.html
Заголовок, (Title) документа по адресу, URL1:
xmlbeansxx - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)