赤紫蘇2.リファレンス

aka:choice 固定値の定義

akaxiso2.0-beta2


aka:choiceにおいて、固定値(@fixed)を使用することができます。

template<class IL>
void fixed_item(const std::string &tagname, const std::string &fixed_value, const IL&) 
template<class IL>
void fixed_array(const std::string &tagname, const std::string &tagname fixed_value, const IL&,
                 int minOccurs, int maxOccurs);

固定値を指定された子要素オブジェクトは、デシリアライズ時に、XMLドキュメント内の値が固定値と等しいか、チェックされます。異なる場合、パースエラーとなります。
また、デシリアライズされた子要素は、コンテナ内に挿入されます。

また、aka:choiceのヘルパオブジェクトである、mocクラスを使用すれば、コンテナ挿入時に、固定値を指定された子要素オブジェクトに、固定値を指定することができます。

固定値は、単純型のみに指定することができます。

注:
aka:sequenceの場合には、固定値メンバは、クラスに定義する必要がありませんでした。これは、aka:sequenceの要素の出現順番が、あらかじめ決まっており、固定値メンバが現れる位置も決まっているからです。
しかし、aka:choiceの場合には、要素の出現位置が決まっていないため、明示的にインスタンスを作成し、コンテナの要素として扱います。


リファレンストップへ 赤紫蘇2トップへ sourceforgeプロジェクトページへ