赤紫蘇 2.
赤紫蘇とは.....
赤紫蘇は以下に示す機能、特徴をもったXMLのためのC++ライブラリです。
1.XMLスキーマで定義されるXML文書のシリアライズ、デシリアライズを
行います
- XMLスキーマとしては、Part 1 Schema Structuresで指定される構造の大部分をサポートします。
- 現在の実装状況については、赤紫蘇の機能をご参照ください。
2.C++用のライブラリです
- C++で書かれたクラスのシリアライズ、デシリアライズを行います。
- C++クラスのシリアライズ情報は、別個のクラスに定義されます。
- デシリアライザは妥当性検証機能を持ちます。パースされたXML文書は、C++のクラスにデシリアライズされた時点で、妥当性検証済みとなります。
- 文字列、コンテナ(配列含む)には、STL(Standard Template Library)を使用します。コンテナに関しては、STLのコンテナと同様のインターフェースを持っていれば、使用可能です。
3.ポータブルです。
- Linux(g++-2.96、g++-3.2.2、g++-3.4.0)、Windows(VC6、BCB6)でコンパイル、実行できます。
- XMLパーサには、Yggdrasill(世界樹)を同梱。赤紫蘇ライブラリのみで、シリアライザとしての機能を実現します。
- Apache XML Project のXMLパーサ ’Xerces-C++’を使うこともできます。
- SAXインターフェースが存在するパーサであれば、デシリアライザエンジンとの間のアダプタを書くことで、新規に対応させることができます。
4.スキーマコンパイラ(C++ソースジェネレータ) ’忍坂’を同梱します。
- XML-Schema文書をコンパイルし、シリアライザ、デシリアライザのC++ソースを生成することができます。
5.オープンソース、フリーウエアです。
- 赤紫蘇と同類のライブラリで、フリーでオープンソースであるものは、非常に少ないように感じています。
この穴を埋めることができたらいいなと考えています。