|
|
|
赤紫蘇2.0 beta2(2004/12/19)
全般
- ディレクトリ、プロジェクトファイル、ライブラリ名などの名前の整理。
- ディレクトリ、プロジェクト名変更
akaxiso -> akaxiso2
akaxiso_samples -> akaxiso2_samples
osixaka_samples -> osixaka2_samples
- osixaka、akaxiso/schemaは、deprecated
- ライブラリ名
libakaxiso -> libakaxiso2
libosixaka -> libosixaka2
- VC Toolkit 2003 makefile追加
VC Toolkit 2003 でも、libakaxiso2.libとosixaka2がビルド可能。
赤紫蘇2
- 変更・機能追加
- 環境設定用マクロ名のプレフィックスとして、AKAXISO2_を追加。
- PACKAGE/VERSIONマクロを削除 AKAXISO2_PACKAGE、AKAXISO2_VERSIONへと変更
- <xs:anyAttribute>、<xs:attribute>のnamespaceList属性の機能を追加
- emptiable な配列/choiceを追加
minOccurs != 0 な条件でも、出現頻度0を許す設定を追加。
- sequence/all/arrayの、occurrence()の指定削除
choiceの場合は使用可。(ルートノードの出現頻度指定に必要。)
- aka::preconditions -> aka::entity_complementsへとクラス名変更
bool entity_complements::check_id() constからconstを除去。
- aka::simpletype::read_text()、aka::simpletype<>::write_text()のインターフェース変更。
- aka::choice<>::moc を aka::choice<>::binderに名称変更。
- aka::any, aka::wildcardを分離
(aka::anyは、ワイルドカード要素、もしくは、別に定義されるドキュメントと定義される。
aka::wild_cardは、ワイルドカード要素そのものとなる。)
- XMLシリアライザに、デフォルト名前空間の指定機能を追加
xmlns="URI"という形で、デフォルト名前空間を用いてシリアライズ可能。
以下APIを参照のこと。
- serializer::default_ns_prefix(const std::string &prefix);
- serializer::default_ns_uri(const std::string &uri);
- aka::qnameクラスのコンストラクタをexplicitに変更
- aka::qname::get_uri_id() -> aka::qname::get_namespace_id()と名称変更。
- aka::any_attribute -> aka::wc_attributeと名称変更
- 配列や<xs:choice>について要素が0個と成りうる場合の出現頻度検証ロジックを修正
- バグフィックス
- aka::exceptionが、例外がthrowされる場所を表示しない
- expatを使用した際に、名前空間の処理が属性の出現順に依存する
- デフォルト名前空間使用時のタグ名の比較が、正常に行われない。
忍坂2
- 機能追加・変更
- 識別子空間の整理
- XMLスキーマ中での設定機能追加。
- osx:include、osx:xiso_include、osx:ximpl_include
- osx:leaf
- osx:classnameなど。
- 設定ファイル再構築(中)
- xs:any、xs:anyAttributeのnamespace属性の扱いを追加。
- トップレベルのxs:attributeが名前空間を扱えるよう変更。
- 忍坂1と同等のソースを生成するオプション(-1)を追加。
- MFCスタイルのメンバ名(m_member)を生成するオプション(-M)を追加
- 赤紫蘇化エンジンを再構築
- 単純型の依存性解決エンジンを追加
- 単純型をルート要素するドキュメントの生成機能を追加
- 複数スキーマファイルからのコード生成機能を追加(-n -f オプション)
- 不完全型を配列要素で使用する/しないを指定するオプション(-iオプション)を追加。
- グローバルアトリビュートのメンバ名は、名前空間プレフィックスを含むように変更。
- 生成されるクラスの依存性解決の際、不完全型を極力使用しないように変更。
- DTD->XMLSchema変換時のエンコーディングをサポート。
- expatが使用されていないときに、DTD->XMLSchema変換オプションを使用不可に設定。
- 忍坂2で使用されるXML文書定義(XMLSchemaそのもの含む)を、忍坂2で生成した
- バグ修正
- クラスの前置宣言のトークン置換が行われていない
- クラス名、メンバ名のエスケープ処理が行われていない
- DTD->XMLSchema変換のバグとり。ソース生成ロジックの改善。
- DTD中に定義される単純型(正規表現を使用)も変換するようコードを追加。
赤紫蘇2.0 beta1 (2004/8/16)
赤紫蘇
- Solaris/g++2.95.3対応
- ユーザMLの小宮山さん、三嶋さん、ありがとうございました。
- MacOS X 10.2 対応(babelを使用しない場合に限る。)
- iBookを譲っていただき、さらに、MacOSの手ほどきをしてくださった西澤さん、
ありがとうございました。
- BCB6プロジェクトファイル更新
- aka:all以下に現れるxs:anyTypeについて実装もれを修正
- aka:simplecontentについて、固定値を与えた際のバグをフィックス
- ライブラリ内の単語を修正 parse -> deserialize
- Yggdrasil (世界樹)からexpatへと同梱XMLパーサを切り替え
- ソースからの日本語削除(gcc-2.95系対応)
- configureによる構成の設定変更を行えるようにした。(Linux、UNIX)
- ディレクトリ構造の整理と再構築
- こまごまとしたFix、テストの追加
忍坂2
- 設定ファイルオプションを追加
- DTD -> XMLSchema変換機能を追加
赤紫蘇2.0 beta0 (2004/6/7)
- 忍坂2α版リリース
- g++3.4.0 サポート
- XML Namespace 1.1 サポート(シリアライザ、デシリアライザとも)
- こまごまとしたBug-fix、APIの整理
- 組み込み型のサポート
- コンパイルの高速化(インクルードファイルの最適化)
- 起動時間の短縮(babelの変換テーブルを静的に確保)
|