構造グループ

この要素は、 複数の構造体をグループ化する 同じ製品とバージョンの同じ/異なるリソース内。

可能な場所

  • 熱 意/ヘルプ/ zest -仕様ファイル/構造/プロパティ/導入/">プロパティ - 熱 意/ヘルプ/ zest -仕様ファイル/コンテンツ/紹介/">コンテンツ - 熱 意/ヘルプ/ zest -仕様ファイル/複合構造グループ/">複合構造グループ

子要素

  • 熱意 /ヘルプ/ -仕 zest 様ファイル/構造/導入/">構造 必須 繰り返し - 熱 意/ヘルプ/ zest -仕様ファイル/構造グループ/差別者/導入/">差別者

属性


お名前 タイプ 説明
お名前 文字列 構造体グループの名前。 ここに名前を追加すると、 **必須** すべての子構造に名前を追加します。
タイプ

必須

文字列 に基づく定量化子です。 ZEST を選ぶ必要があります。 <structure> ケースのために。 可能な値は、 の 1 つ、任意、すべて、配列の

注:

属性 お名前 構造体グループが子要素である場合、 熱 意/ヘルプ/ zest -仕様ファイル/コンテンツ/紹介/"> . 定量化子の式:

  • の 1 つ - 構造体に対してのみ検証します。 構造物のグループからの1つの構造.

  • 任意 - 少なくとも 構造の1つまたは複数の1つがあなたの場合に一致できます 構造のグループから。

  • すべて - 構造グループ内のすべての構造体 あなたのケースに一致する必要があります。

  • 配列の - それはあなたを助けます 構造物の順序を保つ 構造グループで与えられ、それは複数回繰り返すことができます。

例

この構造グループが型に対してどのように機能するかを見てみましょう。 1つの 、 任意 、 すべて そして の配列.理解しやすさのために、以下の構造グループがあります。

copy

<structure-group name="Example" type="one-of/all-of/any-of/array-of">
 <structure name="A">
 <property name="field1" type="string" />
 <property name="field2" type="string" />
 </structure>
 <structure name="B">
 <property name="field3" type="string" />
 <property name="field4" type="string" />
 </structure>
 <structure name="C">
 <property name="field5" type="string" />
 <property name="field6" type="string" />
 </structure>
 </structure-group>

シンプルに保つために、私たちは何も含まれていません 熱 意/ヘルプ/ zest -仕様ファイル/構造/余分プロパティ/"> 構造体において。 しかし、あらゆるタイプとすべてのタイプは、その可能性を最大限に発揮するために余分なプロパティを必要とします。 したがって、デフォルトでは、3つの構造体すべてに対して以下の余分なプロパティが設定されていることを考慮してください。

copy


1つの の 1 で、値は一致する必要があります。 いずれかの構造物 構造グループから。- a の下の構造体グループの場合 地図 熱 意/ヘルプ/ zest -仕様ファイル/構造/プロパティ/導入/"> 、値が複数の値に一致する場合 熱 意/ヘルプ/ zest -仕様ファイル/構造/導入/"> エラーがスローされます。

  • a の下の構造体グループの場合 コレクター プロパティの場合、各値は以下の構造体のいずれかに一致できます。 検証用のビルドの 1 つの構造体のセットは次のとおりです。
copy

<structure name="A">
 <property name="field1" type="string" />
 <property name="field2" type="string" />
 </structure>
 <structure name="B">
 <property name="field3" type="string" />
 <property name="field4" type="string" />
 </structure>
 <structure name="C">
 <property name="field5" type="string" />
 <property name="field6" type="string" />
 </structure>

すべて このタイプでは、値は すべての構造 、すなわち ZEST 新しい構築します 熱 意/ヘルプ/ zest -仕様ファイル/構造/導入/"> この3つをマージし、値がそれに一致することを期待します。 3つの構造はすべて許可する必要があります。 熱 意/ヘルプ/ zest -仕様ファイル/構造/余分プロパティ/"> このタイプを使用するために。以下は、次のマージされた構造です。 ZEST 検証のための使用、

copy

<structure name="ABC">
 <property name="field1" type="string"/>
 <property name="field2" type="string"/>
 <property name="field3" type="string"/>
 <property name="field4" type="string"/>
 <property name="field5" type="string"/>
 <property name="field6" type="string"/>
 </structure>

任意 いずれの場合も、値は一致する必要があります。 1つまたは複数の構造. すべての構造は受け入れるべきです 熱 意/ヘルプ/ zest -仕様ファイル/構造/余分プロパティ/"> これらの構造の組み合わせを受け入れる。したがって、検証のために生成される構造体のセットは次のとおりです。

copy

<structure name="A">
 <property name="field1" type="string"/>
 <property name="field2" type="string"/>
 </structure>
 <structure name="B">
 <property name="field3" type="string"/>
 <property name="field4" type="string"/>
 </structure>
 <structure name="C">
 <property name="field5" type="string"/>
 <property name="field6" type="string"/>
 </structure>
 <!-- following are the combinations of the three structures -->
 <structure name="AB">
 <property name="field1" type="string"/>
 <property name="field2" type="string"/>
 <property name="field3" type="string"/>
 <property name="field4" type="string"/>
 </structure>
 <structure name="AC">
 <property name="field1" type="string"/>
 <property name="field2" type="string"/>
 <property name="field5" type="string"/>
 <property name="field6" type="string"/>
 </structure>
 <structure name="BC">
 <property name="field3" type="string"/>
 <property name="field4" type="string"/>
 <property name="field5" type="string"/>
 <property name="field6" type="string"/>
 </structure>
 <structure name="ABC">
 <property name="field1" type="string"/>
 <property name="field2" type="string"/>
 <property name="field3" type="string"/>
 <property name="field4" type="string"/>
 <property name="field5" type="string"/>
 <property name="field6" type="string"/>
 </structure>

値は上記の構造のいずれかに一致する必要があります。 もし 熱 意/ヘルプ/ zest -仕様ファイル/構造/導入/"> 余分なプロパティを受け入れない場合、いずれも組み合わせを生成せず、いずれも 1 つと同じ動作します。 の配列 この の配列 構造体グループにのみ適用されます。 熱 意/ヘルプ/ zest -仕様ファイル/構造/プロパティ/導入/"> それは持っている コレクター データ型として。 このタイプの関数は 1 に似ており、任意の組み合わせを生成しません。 ただし、値のリストは、構造体グループで指定されたのと同じ順序で構造体と一致する必要があります。 の 1 つでは、値は同じ値に一致できます。 熱 意/ヘルプ/ zest -仕様ファイル/構造/導入/"> 前の値として、または順序の次ではない別の構造として。このタイプのもう1つの主な特性は、構造を好きなだけ繰り返すことができるが、同じ順序を維持できることです。つまり、構造は残りの回数を埋めるために同じ順序で再び開始されます。長さがプロパティで5として与えられているとします。 したがって、検証のために取られた5つの値はすべて、次の順序で構造体と一致する必要があります。

copy

<structure name="A">
 <property name="field1" type="string" />
 <property name="field2" type="string" />
 </structure>
 <structure name="B">
 <property name="field3" type="string" />
 <property name="field4" type="string" />
 </structure>
 <structure name="C">
 <property name="field5" type="string" />
 <property name="field6" type="string" />
 </structure>
 <structure name="A">
 <property name="field1" type="string" />
 <property name="field2" type="string" />
 </structure>
 <structure name="B">
 <property name="field3" type="string" />
 <property name="field4" type="string" />
 </structure>

ここで、4番目のインデックスでは、構造は ’ から再び始まります。 A ’ 残りの2つのカウントを埋めます。

Last Updated 2026-02-06 15:55:45 +0530 IST