| コード合成 XSD | |
|---|---|
| 開発者 | コード合成 |
| 安定版リリース | 4.2.0 / 2023年10月5日 ( 2023-10-05 ) |
| 書かれた | C++ |
| オペレーティング·システム | クロスプラットフォーム C++ |
| タイプ | XMLデータバインディング |
| ライセンス | GNU 一般公衆利用許諾書と独自ライセンス |
| Webサイト | www.codesynthesis.com/products/xsd |
CodeSynthesis XSD は、 Code Synthesis 社が開発し、GNU GPLとプロプライエタリ ライセンスのデュアルライセンスであるC++用の XML データ バインディング コンパイラです。XMLインスタンス仕様 ( XML スキーマ) を指定すると、指定された語彙を表す C++ クラスと、解析およびシリアル化コードを生成します。AIX、Linux、HP-UX、OS X、Solaris、Windows、OpenVMS、z/OSなど、多数のプラットフォームでサポートされています。サポートされている C++ コンパイラには、 GNU G++、Intel C++、 HP aCC、Solaris Studio C++、IBM XL C++、Microsoft Visual C++などがあります。モバイルおよび組み込みシステム向けのバージョンであるCodeSynthesis XSD/eも利用可能です。
CodeSynthesis XSD のユニークな機能の一つは、XML スキーマから C++ への 2 つの異なるマッピング、すなわちメモリ内 C++/Tree とストリーム指向 C++/Parser をサポートしていることです。C++/Tree マッピングは、ツリー状のメモリ内データ構造を持つ従来のマッピングです。C++/Parser は、XML インスタンス ドキュメントに格納された情報を、語彙固有の解析イベントの階層として表現する、SAXに似た新しいマッピングです。C++/Tree と比較すると、C++/Parser マッピングでは、メモリに収まらない大規模な XML ドキュメントの処理、ストリーム指向処理、既存のメモリ内表現の利用が可能です。XSD 生成コードは、C++98/03 または C++11 をターゲットにできます。
CodeSynthesis XSD 自体は C++ で記述されています。
参考文献
外部リンク
- CodeSynthesis XSD ホームページ
- C++/ツリーマッピング入門
- C++/パーサーマッピングの紹介
- C++ における XML データバインディング入門