このトピックでは、メッセージ・モデルを 構成する方法を説明します。 以下のセクションがあります。
エレメントなどの一部のオブジェクトには、独立型オブジェクトとして関連付けられるプロパティーと、他のオブジェクト (タイプやグループなど) のメンバーとして関連付けられるプロパティーの両方を持つものがあります。 これらのプロパティーを 2 つの表にリストします。
こうした表には、このサンプルで設定されているプロパティーのみをリストしています。 さらに多くのプロパティーが使用可能ですが、このサンプルではほとんどがデフォルト値のままになっています。
オブジェクトのプロパティーを独立型オブジェクト (エレメントなど) として構成するには、次の表にリストされているようにプロパティーを設定してください。
オブジェクト | 論理プロパティー | CWF プロパティー | XML プロパティー | TDS プロパティー |
---|---|---|---|---|
Town | ||||
Street | ||||
HouseNo | ||||
ANONYMOUS | 構成 = 順序セット (OrderedSet) | データとエレメントの分離 (Data Element Separation) = タグ付き区切り (Tagged Delimited) グループ標識 = [ グループ・ターミネーター = ] 区切り文字 = : タグとデータの区切り文字 (Tag Data Separator) = * |
ANONYMOUS の「構成」を「順序セット」に設定しているのは、エレメントが指定した順序で 出現しなければならないからです。 別の方法として、「構成」を「シーケンス」に設定することもできます。 「構成」が「順序セット」の場合は、エレメントは順序どおりに出現し、しかも重複は許されません。 「構成」が「シーケンス」の場合は、やはりエレメントは順序どおりに出現しますが、重複が可能です。 重複エレメントとは、複合タイプの中のどこかで複数回出現しているエレメントのことです。
ANONYMOUS の他の論理プロパティーは、デフォルト値のままにされています。 「内容の検証」のデフォルト設定値は「クローズ」 です。 その場合、複合タイプ ANONYMOUS に含めることができるのはそのメンバーであるエレメントだけになります。 「内容の検証」を「オープン」に設定すると、その複合タイプには、そのメッセージ・セットで 定義されたものだけでなく、任意のエレメントを含めることができるようになります。
「データとエレメントの分離」は「タグ付き区切り」に設定されています。 これは、複数のデータとエレメントの分離の方法を示すためです。 データとエレメントの分離の設定値については、このトピックの末尾にあるリンクを参照してください。
オブジェクトのプロパティーを他のオブジェクト (タイプやグループなど) のメンバーとして構成するには、次の表にリストされているようにプロパティーを設定してください。
オブジェクト | 親オブジェクト | 論理プロパティー | CWF プロパティー | XML プロパティー | TDS プロパティー |
---|---|---|---|---|---|
Town | Address > ANONYMOUS | 長さカウント = 20 | |||
Street | Address > ANONYMOUS | 長さカウント = 20 | |||
HouseNo | Address > ANONYMOUS | 長さカウント = 4 物理タイプ = 外部 10 進数 (External Decimal) 「符号」チェック・ボックス ('Signed' check box) = 選択しない (not selected) ストリング位置調整 = 左そろえ (Left Justify) 埋め込み文字 = SPACE |
|||
ANONYMOUS | Address |
エレメントなどの一部のオブジェクトには、独立型オブジェクトとして関連付けられるプロパティーと、他のオブジェクト (タイプやグループなど) のメンバーとして関連付けられるプロパティーの 2 つのプロパティー・セットを持つものがあります。 これらのプロパティーを 2 つの表にリストします。
こうした表には、このサンプルで設定されているプロパティーのみをリストしています。 さらに多くのプロパティーが使用可能ですが、このサンプルではほとんどがデフォルト値のままになっています。
オブジェクトのプロパティーを独立型オブジェクト (エレメントなど) として構成するには、次の表に示されているようにプロパティーを設定してください。 直前のセクション『Address メッセージ定義のプロパティーの構成』にある説明に従ってください。
オブジェクト | 論理プロパティー | CWF プロパティー | XML プロパティー | TDS プロパティー |
---|---|---|---|---|
VideoTitle | ||||
DueDate | ||||
Cost | ||||
ANONYMOUS |
|
データとエレメントの分離 (Data Element Separation) = 全エレメント区切り (All Elements Delimited) グループ標識 = [ グループ・ターミネーター = ] 区切り文字 = + |
ANONYMOUS の論理プロパティーを設定する必要はありません。デフォルト値のままだからです。 「データとエレメントの分離」は「全エレメント区切り」に設定され、データとエレメントの分離の別のタイプを例示します。 このトピックの最後にあるリンクを使用して、「全エレメント区切り」が「タグ付き区切り」とどのように異なるかを調べてください。
オブジェクトのプロパティーを他のオブジェクト (タイプやグループなど) のメンバーとして構成するには、次の表に示されているようにプロパティーを設定してください。 直前のセクション『Address メッセージ定義のプロパティーの構成』にある説明に従ってください。
オブジェクト | 親オブジェクト | 論理プロパティー | CWF プロパティー | XML プロパティー | TDS プロパティー |
---|---|---|---|---|---|
VideoTitle | Borrowed > Anonymous | 長さカウント = 20 | レンダー = XMLAttribute | ||
DueDate | Borrowed > Anonymous | 長さカウント = 10 日時フォーマット (DateTime Format) = yyyy-MM-dd |
日時フォーマット (DateTime Format) = yyyy-MM-dd | ||
Cost | Borrowed > Anonymous | 長さカウント = 4 | |||
ANONYMOUS | Borrowed |
VideoTitle のレンダリング・オプションは、XMLAttribute に設定されています。これは、メッセージ・モデル構成の異なる複数の方法を示すためです。 VideoTitle をエレメントとして作成し、それを属性としてレンダリングすることは、オブジェクト構成の 1 つの方法にすぎません。 VideoTitle は以下のさまざまな方法で構成できます。
後の 2 つのオプションにおいて、VideoTitle はメッセージ中ではまったく同じ形式になります。 つまり、オブジェクトを属性として構成しても、または属性としてレンダリングされるエレメントとして構成しても、同じ結果が得られます。 たとえば、オブジェクト作成後にエレメントを属性に (あるいはその反対に) 変更したいが、なんらかの理由でレンダリング・オプションには別のものを使用したいという場合には、レンダリング・オプションを使用することができます。 たとえば、業務上の理由で、同じ名前で複数のエレメントを作成し、レンダリング・オプションを使用してそれらに異なる識別子を指定するようにしたい場合があるかもしれません。
エレメントなどの一部のオブジェクトには、独立型オブジェクトとして関連付けられるプロパティーと、他のオブジェクト (タイプやグループなど) のメンバーとして関連付けられるプロパティーの 2 つのプロパティー・セットを持つものがあります。 これらのプロパティーを 2 つの表にリストします。
こうした表には、このサンプルで設定されているプロパティーのみをリストしています。 さらに多くのプロパティーが使用可能ですが、このサンプルではほとんどがデフォルト値のままになっています。 詳細については、このトピックの最後にあるリンクを参照してください。
オブジェクトのプロパティーを独立型オブジェクト (エレメントなど) として構成するには、次の表に示されているようにプロパティーを設定してください。 直前のセクション『Address メッセージ定義のプロパティーの構成』にある説明に従ってください。
オブジェクト | 論理プロパティー | CWF プロパティー | XML プロパティー | TDS プロパティー |
---|---|---|---|---|
FirstName | タグ (Tag) = FirstName | |||
LastName | タグ (Tag) = LastName | |||
Title | タグ (Tag) = Title | |||
NameType | 構成 = 順序セット (OrderedSet) 内容の検証 = オープン (Open) |
データとエレメントの分離 (Data Element Separation) = タグ付き区切り (Tagged Delimited) |
||
ID | タグ (Tag) = ID | |||
CreditCardNo | タグ (Tag) = CreditCardNo | |||
DrivingLicenseNo | タグ (Tag) = DrivingLicenseNo | |||
PassportNo | タグ (Tag) = PassportNo | |||
IdGroup | 構成 = Choice 内容の検証 = クローズ (Closed) |
データとエレメントの分離 (Data Element Separation) = タグ付き区切り (Tagged Delimited) 区切り文字 = & タグとデータの区切り文字 (Tag Data Separator) = : |
||
brw:Borrowed | ||||
Magazine | タグ (Tag) = Magazine | |||
CustomerType | 構成 = Sequence 内容の検証 = オープン (Open) |
データとエレメントの分離 (Data Element Separation) = タグ付き区切り (Tagged Delimited) グループ標識 = { グループ・ターミネーター = } 区切り文字 = & タグとデータの区切り文字 (Tag Data Separator) = : |
NameType の「内容の検証」を「オープン」に設定すると、重複エレメントは許可されませんが、このタイプで定義されていない他のエレメントが許可されます。 重複エレメントとは、複合タイプの中のどこかで複数回出現しているエレメントのことです。 他の「内容の検証」オプションの例を示すために、NameType の「内容の検証」を「オープン」に設定します。
NameType の「構成」を順序セットに設定しているのは、指定した順序でエレメントを出現させるためです。 別の方法として、「構成」を「シーケンス」に設定することもできます。 Sequence は「構成」のデフォルト値であり、たとえばここでは CustomerType に使用されています。 「構成」が「順序セット」の場合は、エレメントは順序どおりに出現し、しかも重複は許されません。 「構成」が「シーケンス」の場合は、やはりエレメントは順序どおりに出現しますが、重複が可能です。
IdGroup の「構成」を 「選択」 に設定すると、顧客がビデオ店の会員になる際に身元証明に使用する ID のタイプとして、PassportNo、DrivingLicenseNo、または CreditCardNo のいずれか 1 つだけを選択できます。 「内容の検証」を「クローズ」に設定した場合は、これら 3 つのオプションからしか選択ができません。 たとえば、「内容の検証」を「定義済みオープン」に設定した場合は、ご使用のメッセージ・セット内で定義された他のエレメントを選択することが可能になります。
詳しくは、このトピックの末尾にあるリンクを参照してください。
オブジェクトのプロパティーを他のオブジェクト (タイプやグループなど) のメンバーとして構成するには、次の表に示されているようにプロパティーを設定してください。 次の表にリストされている構成タスクすべてを、Customer.mxsd メッセージ定義ファイルで実行する必要があります。 オブジェクトを選択しますが、そのオブジェクトがメンバーとなっているオブジェクトの下にあるものを 選択する必要があることに注意してください。 直前のセクション『Address メッセージ定義のプロパティーの構成』にある説明に従ってください。
オブジェクト | 親オブジェクト | 論理プロパティー | CWF プロパティー | XML プロパティー | TDS プロパティー |
---|---|---|---|---|---|
FirstName | NameType | 長さカウント = 20 反復カウント (Repeat Count) = 1 | |||
LastName | NameType | 長さカウント = 20 | レンダー = XMLAttribute | ||
Title | NameType | 長さカウント = 3 反復カウント (Repeat Count) = 1 | |||
NameType | Customer | ||||
ID | CustomerType | 長さカウント = 1 反復カウント (Repeat Count) = 1 |
|||
CreditCardNo | IdGroup | 最小数 (Min Occurs) = 0 | 長さカウント = 20 |
|
|
DrivingLicenseNo | IdGroup | 最小数 (Min Occurs) = 0 | 長さカウント = 20 | ||
PassportNo | IdGroup | 最小数 (Min Occurs) = 0 | 長さカウント = 20 | ||
IdGroup | |||||
brw:Borrowed | CustomerType | 最小数 (Min Occurs) = 0 最大数 (Max Occurs) = 3 |
反復カウント (Repeat Count) = 2 | 反復エレメント区切り文字 = * | |
Magazine | CustomerType | 最小数 (Min Occurs) = 0 | |||
CustomerType |
LastName のレンダリング・オプションは、XMLAttribute に設定されています。 これは、メッセージ・モデル構成の異なる複数の方法を示すためです。 これは直前のトピック『Borrowed メッセージ定義のプロパティーの構成』の VideoTitle の 場合でもそうです。
オブジェクト brw:Borrowed の場合、CWF の反復カウントを 2 に設定して、入力メッセージで示されているように、ビデオを借りた回数を反映します。 XML および TDS の両形式では区切り文字タグを使用して各反復の開始と終了の場所を表示するので、XML および TDS の反復カウントを指定する必要はありません。 反復エレメントが反復する回数が事前に分からなかった場合には、メッセージ・モデルに別の整数フィールドを組み込まなければなりません。このフィールドに ESQL を使用して反復回数を動的に取り込み、「反復カウント」を「反復参照」に変更して、参照をその整数フィールドの値に加える必要があります。
エレメント Magazine は「ブール」タイプであるため、メッセージ・セットを通じて使用されるブール値も構成する必要があります。 ブール値を設定するには、次のようにします。
プロパティー | 値 |
---|---|
ブールの True 値 | 31 |
ブールの False 値 | 30 |
ブールの Null 値 | 00 |