XML スキーマの要素の宣言では単純型または複合型を使用できます。属性の宣言では単純型を使用できます。一般に、単純型の要素と属性は Designer によってフィールドにマップされます。複合型を持つ要素には、他の要素と属性、または属性が含まれていて、一般的にサブフォームにマップされます。
複合型は、その他のすべての要素を定義するために使用します。複合型では、要素内容、単純内容、混在内容および空内容を定義できます。
複合型の要素には、属性を宣言することもしないこともできます。
データソースの要素内容からのサブフォームの生成方法
単一の要素内容を持つ要素をフォームデザインにドラッグしたり、必要に応じて属性をフォームデザインにドラッグしたりすると、サブフォームが生成されます。
このサブフォームには、要素で宣言された各属性のオブジェクトと、各子要素のオブジェクトまたはサブフォームが含められます。
単純内容
単純内容は単純な内容(テキストデータ)を含むように要素が宣言されている場所で、属性を宣言することもできます。要素で属性を宣言しない場合、マッピングは単純型要素の場合と同じです。
属性が宣言されると、要素はその要素名を使用した名前のサブフォームにマッピングされます。このサブフォームには、要素に連結された 1 つのフィールドと、各属性の追加フィールドが含められます。要素に連結されたフィールドの名前は、要素名に文字列「
_data
」を付加した名前になります。この例として、要素(例えば
<phone>
)が数値内容と
type
という名前の属性を持つとします。
<phone type="work">5554567</phone>
type
および
phone_data
という名前のオブジェクトを含む
phone
という名前のサブフォームが生成されます。
type
オブジェクトは
$data...phone.type
に連結され、
phone_data
フィールドは
$data...phone
に連結されます。
混在内容
混在内容は、要素の子とテキスト内容が混在したものを含むように要素が宣言されているときに存在します。
空内容
空内容を持つ複合型は、単純内容と同様に扱われます。作成され、要素に連結されるオブジェクトは、内容を持つことができません。
出現
XML スキーマ要素宣言のオカレンス属性(minOccurs および maxOccurs)は、サブフォームを生成します。これはサブフォームの反復プロパティにマップされます。
内容モデル
要素の子の内容モデルがシーケンス以外である場合、マッピングは subformSets を使用してモデルとすべてのグループを選択しようとします。