赤紫蘇とは.....

赤紫蘇 ２．

赤紫蘇とは.....

赤紫蘇は以下に示す機能、特徴をもったC++ライブラリです。

１．XMLスキーマで定義されるXML文書のシリアライズ、デシリアライズを
行います

- 現在、XMLスキーマの以下の要素に対応する機能が、使用できます。
  - <xs:element>
  - <xs:complexType>
  - <xs:sequence>
  - <xs:choice>
  - <xs:all>
  - <xs:attribute>
- 以上の要素に加え、それぞれの出現回数(minOccurs、maxOccurs)、名前空間をサポートします。

２．C++用のライブラリです

- C++で書かれたクラスのシリアライズ、デシリアライズを行います。
- C++クラスのシリアライズ情報は、別個のクラスに定義されます。
- デシリアライザは内容モデル検証機能を持ちます。パースされたXML文書は、C++のクラスにデシリアライズされた時点で、妥当性検証済みとなります。
- 文字列、コンテナ(配列含む)には、STL(Standard Template Library)を使用します。コンテナに関しては、STLのコンテナと同様のインターフェースを持っていれば、使用可能です。

３．ポータブルです。

- Linux(g++-2.96、g++-3.2.2)、Windows(VC6)での動作を確認しました。
- XMLパーサには、Yggdrasill(世界樹)を同梱。赤紫蘇ライブラリのみで、シリアライザとしての機能を実現します。
- Apache XML Project のXMLパーサ ’Xerces-C++’を使うこともできます。
- SAXインターフェースが存在するパーサであれば、デシリアライザエンジンとの間のアダプタを書くことで、新規に対応させることができます。

４．スキーマコンパイラ(C++ソースジェネレータ) ’忍坂’を同梱します。

- XML-Schema文書をコンパイルし、シリアライザ、デシリアライザのC++ソースを生成することができます。

５．オープンソース、フリーウエアです。

- 赤紫蘇と同類のライブラリで、フリーでオープンソースであるものは、非常に少ないように感じています。
  この穴を埋めることができたらいいなと考えています。