メッセージ・モデルの構成

このトピックでは、メッセージ・モデルを 構成する方法を説明します。 以下のセクションがあります。

Address メッセージ定義のプロパティーの構成

エレメントなどの一部のオブジェクトには、独立型オブジェクトとして関連付けられるプロパティーと、他のオブジェクト (タイプやグループなど) のメンバーとして関連付けられるプロパティーの両方を持つものがあります。 これらのプロパティーを 2 つの表にリストします。

こうした表には、このサンプルで設定されているプロパティーのみをリストしています。 さらに多くのプロパティーが使用可能ですが、このサンプルではほとんどがデフォルト値のままになっています。

独立型オブジェクトとしてのオブジェクトのプロパティーの構成

オブジェクトのプロパティーを独立型オブジェクト (エレメントなど) として構成するには、次の表にリストされているようにプロパティーを設定してください。

  1. 「ブローカー・アプリケーション開発」パースペクティブに切り替えます。
  2. 「リソース・ナビゲーター」ビューで、「Address.mxsd」をダブルクリックして開きます。
  3. 「アウトライン」ビューで、いくつかのフォルダーを展開して必要なオブジェクトを検索し、そのオブジェクトをクリックして強調表示します。 たとえば、ANONYMOUS の場合なら、「エレメントおよび属性」→「Address」→「ANONYMOUS」の順にクリックします。
  4. メッセージ定義エディターで、「プロパティー」タブをクリックします。
  5. プロパティー階層の中で、構成するプロパティーを見つけます。 たとえば、ANONYMOUS の TDS プロパティーを構成するのであれば、「物理プロパティー」→「TDS1」→「複合タイプ」の順にクリックします。 ローカル・エレメント、グローバル・エレメント、エレメント参照、またはグループ参照のプロパティーを構成している場合は、「物理プロパティー」→「TDS1」→「ローカル・エレメント」/「グローバル・エレメント」/「エレメント参照」/「グループ参照」を、それぞれクリックします。
  6. 下の表に示すように、プロパティーを 設定します。
    オブジェクト 論理プロパティー CWF プロパティー XML プロパティー TDS プロパティー
    Town        
    Street        
    HouseNo        
    ANONYMOUS 構成 = 順序セット (OrderedSet)     データとエレメントの分離 (Data Element Separation) = タグ付き区切り (Tagged Delimited)
    グループ標識 = [
    グループ・ターミネーター = ]
    区切り文字 = :
    タグとデータの区切り文字 (Tag Data Separator) = *

ANONYMOUS の「構成」を「順序セット」に設定しているのは、エレメントが指定した順序で 出現しなければならないからです。 別の方法として、「構成」を「シーケンス」に設定することもできます。 「構成」が「順序セット」の場合は、エレメントは順序どおりに出現し、しかも重複は許されません。 「構成」が「シーケンス」の場合は、やはりエレメントは順序どおりに出現しますが、重複が可能です。 重複エレメントとは、複合タイプの中のどこかで複数回出現しているエレメントのことです。

ANONYMOUS の他の論理プロパティーは、デフォルト値のままにされています。 「内容の検証」のデフォルト設定値は「クローズ」 です。 その場合、複合タイプ ANONYMOUS に含めることができるのはそのメンバーであるエレメントだけになります。 「内容の検証」を「オープン」に設定すると、その複合タイプには、そのメッセージ・セットで 定義されたものだけでなく、任意のエレメントを含めることができるようになります。

「データとエレメントの分離」は「タグ付き区切り」に設定されています。 これは、複数のデータとエレメントの分離の方法を示すためです。 データとエレメントの分離の設定値については、このトピックの末尾にあるリンクを参照してください。

オブジェクトのプロパティーを他のオブジェクトのメンバーとして構成する

オブジェクトのプロパティーを他のオブジェクト (タイプやグループなど) のメンバーとして構成するには、次の表にリストされているようにプロパティーを設定してください。

  1. 「ブローカー・アプリケーション開発」パースペクティブに切り替えます。
  2. 「リソース・ナビゲーター」ビューで、「Address.mxsd」をダブルクリックして開きます。
  3. 「アウトライン」ビューで、ナビゲーション・ツリーを展開して必要なオブジェクトを検索し、そのオブジェクトをクリックして強調表示します。 ツリーの中で、別のオブジェクトの下に表示されていて、そのメンバーになっているオブジェクトを選択します。 たとえば、Town の場合なら、「エレメントおよび属性」→「Address」→「ANONYMOUS」→「Town」の順にクリックします。
  4. メッセージ定義エディターで、「プロパティー」タブをクリックします。
  5. プロパティー階層の中で、構成するプロパティーを見つけます。 たとえば、Town の TDS プロパティーを構成するのであれば、「物理プロパティー」→「TDS1」→「ローカル・エレメント」の順にクリックします。
  6. 下の表に示すように、プロパティーを設定します。
    オブジェクト 親オブジェクト 論理プロパティー 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        

 

Borrowed メッセージ定義のプロパティーの構成

エレメントなどの一部のオブジェクトには、独立型オブジェクトとして関連付けられるプロパティーと、他のオブジェクト (タイプやグループなど) のメンバーとして関連付けられるプロパティーの 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 はメッセージ中ではまったく同じ形式になります。 つまり、オブジェクトを属性として構成しても、または属性としてレンダリングされるエレメントとして構成しても、同じ結果が得られます。 たとえば、オブジェクト作成後にエレメントを属性に (あるいはその反対に) 変更したいが、なんらかの理由でレンダリング・オプションには別のものを使用したいという場合には、レンダリング・オプションを使用することができます。 たとえば、業務上の理由で、同じ名前で複数のエレメントを作成し、レンダリング・オプションを使用してそれらに異なる識別子を指定するようにしたい場合があるかもしれません。

Customer メッセージ定義のプロパティーの構成

エレメントなどの一部のオブジェクトには、独立型オブジェクトとして関連付けられるプロパティーと、他のオブジェクト (タイプやグループなど) のメンバーとして関連付けられるプロパティーの 2 つのプロパティー・セットを持つものがあります。 これらのプロパティーを 2 つの表にリストします。

こうした表には、このサンプルで設定されているプロパティーのみをリストしています。 さらに多くのプロパティーが使用可能ですが、このサンプルではほとんどがデフォルト値のままになっています。 詳細については、このトピックの最後にあるリンクを参照してください。

独立型オブジェクトとしてのオブジェクトのプロパティーの構成

オブジェクトのプロパティーを独立型オブジェクト (エレメントなど) として構成するには、次の表に示されているようにプロパティーを設定してください。 直前のセクション『Address メッセージ定義のプロパティーの構成』にある説明に従ってください。

オブジェクト 論理プロパティー CWF プロパティー XML プロパティー TDS プロパティー
FirstName       タグ (Tag) = FirstName
LastName       タグ (Tag) = LastName
Title       タグ (Tag) = Title
NameType 構成 = 順序セット (OrderedSet)
内容の検証 = オープン (Open)
   

データとエレメントの分離 (Data Element Separation) = タグ付き区切り (Tagged Delimited)
グループ標識 = [
グループ・ターミネーター = ]
区切り文字 = *
タグとデータの区切り文字 (Tag Data Separator) = :

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 のブール値の構成

エレメント Magazine は「ブール」タイプであるため、メッセージ・セットを通じて使用されるブール値も構成する必要があります。 ブール値を設定するには、次のようにします。

  1. 「ブローカー・アプリケーション開発」パースペクティブに切り替えます。
  2. 「リソース・ナビゲーター」ビューで、messageSet.mset をダブルクリックします。 このファイルには、メッセージ・セットを通じて使用されるデフォルト値が含まれています。
  3. 「メッセージ・セット」エディター・ビューの「物理プロパティー」の下で、「CWF1」をクリックします。
  4. 次の表にリストされているように、ブール値を 2 進表記で設定します。
    プロパティー
    ブールの True 値 31
    ブールの False 値 30
    ブールの Null 値 00

 

メインページのアイコン   サンプルのホームに戻る