sequence および choice
FSD では、固定順序または任意の順序でレコードを定義できます。固定順序の場合、順序で定義される各レコードは、指定された順序でなければなりません。ほとんどのフラットデータの構成では、指定された順序でデータを受け取るため、固定順序が FSD の一般的な構成です。
ただし、任意の順序でレコードやフィールドを表示できるフラットデータ形式や、データ内のマーカーによってレコード構成が決まるフラットデータ形式もあります。このようなデータ構成では choice 要素を使用できます。choice 要素によってパターン照合が実行され、出力データを生成するために最適なデータが決められます。パターン照合では、フィールド長、フィールド区切り記号、フィールド番号、フィールドの特定値が比較されます。
オカレンス
FSD の sequence、choice、record 要素を使用して、予想されるオカレンスの値を指定します。FSD プロセッサはこの情報を使用してデータを検証します。
max-occurs の属性はデフォルトで [1] に設定されます。これは、任意の record、sequence、choiceの発生が 1 回だけ予想されることを意味します。フラットデータのタイプによっては他の固定数の場合がありますが、ほとんどの場合は任意の値を指定できます。値に [0] を指定すると、一致しないレコードが見つかるまで FSD の処理を続けるように設定できます。
min-occurs 属性は、妥当性検査と choice 要素を使用したパターン照合でのみ使用されます。次のレコードに移動する前に、出現回数の値と min-occurs で指定されている最小値が FSD プロセッサによってチェックされます。出現回数が少ない場合はエラーが生成されます。