xmlbeansxx

xmlbeansxx
開発者トーク
プレビューリリース
0.9.8 / 2008年9月25日 (2008年9月25日
リポジトリ
タイプXMLバインディング
ライセンスアパッチ2.0
Webサイトgithub.com / TouK ウィキデータで編集する

xmlbeansxxは、 C++からXMLへのバインディングのためのソフトウェアフレームワークです。Apache License 2.0 に基づいてライセンスされるオープンソースソフトウェアです。

説明

xmlbeansxxは、C++フレンドリーな方法でXMLにアクセスするためのツールです。Apache XMLBeansプロジェクトに類似しており、このプロジェクトからインスピレーションを得ています。XMLBeansと同様に、xmlbeansxxはC++コードジェネレータにXMLスキーマ定義(XSD)インスタンスを提供します。生成されたコードは、後で呼び出してXMLインスタンスドキュメントデータにアクセスできます。

Apache XMLBeans 配布パッケージの例に示されているように、購入注文を記述する単純な XML スキーマ定義の例では、次のコードが easypo.xml ファイルからの項目の印刷を処理します。

#include "EasyPO.h" #include <iostream> #include <fstream>名前空間stdを使用します名前空間xmlbeansxxを使用します名前空間xmlbeansxxを使用します。 :: samples :: enumeration :: schemaenum :: easypo を使用しますint main () {試してください{ fstream in ( "easypo.xml" ios :: in ); PurchaseOrderDocument poDoc = PurchaseOrderDocument :: Factory :: parse ( in );LineItem GiftLineItem = poDoc getPurchaseOrder ()。addNewLineItem ();ギフトラインアイテムsetDescription ( string ( "カレンダー" ));ギフトラインアイテムsetPrice ( 3 );ギフトラインアイテムset数量( 6 );ギフトラインアイテムsetPerUnitOunces ( 10 );ベクトル< 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プロジェクトは、Apache XMLBeansの一部をC++で実装する取り組みとして2004年に開始されました。プロジェクトの目標は、オープンソースライセンスに基づくXMLバインディングツールを作成し、商用プロジェクトで利用できるようにすることでした。このツールは、TouK社のいくつかの商用プロジェクトで成功を収めています。xmlbeansxxは長年にわたり、継続的な要件を満たすために進化を続け、初期バージョンから大きく変化しました。

xmlbeanscxxという名のこのプロジェクトは、2005年にApacheインキュベータに提出されました。しかし、支援企業の一つが目標を変更して撤退したため、開発はそれほど進展しませんでした。このプロジェクトは現在も、初期貢献者であるTouK社で開発が続けられています。

サポートされているコンパイラ

当初、xmlbeansxxはGNUコンパイラコレクションでサポートされていました。2008年時点では、バージョン0.9.1でMicrosoft Visual Studioコンパイラもサポートされました。これは、 CMakeマルチプラットフォームビルドツールを用いて実現されました。

参照