赤紫蘇2.

成長の記録(Release notes)

akaxiso2.0-beta2


赤紫蘇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の変換テーブルを静的に確保)


    ホームに戻る 赤紫蘇2プロジェクトページへ