Cloud Software Group, Inc. EBX®
ドキュメント>開発者ガイド>データモデル
ナビゲーションモードドキュメント>開発者ガイド>データモデル

追加のプロパティ

デフォルト値

データモデルでは、属性defaultを使用してフィールドのデフォルト値を指定できます。このプロパティは、フィールドに値が定義されていない場合にデフォルト値を割り当てるために使用されます。

デフォルト値は、作成時にユーザー入力フィールドに表示されます。つまり、新しいレコードを作成するとき、または集約リストに新しいオカレンスを追加するときに、デフォルト値が表示されます。

例:

この例では、エレメントはデフォルトの文字列値を指定します。

<xs:element name="fieldWithDefaultValue" type="xs:string" default="aDefaultValue" />

アクセスプロパティ

属性 osd:access は、アクセスモード、すなわち、特定のデータモデルノードのデータが読み取りおよび/または書き込み可能であるかどうかを定義します。この属性は、 RWR-CC または -- の値の一つを持たなければなりません。

XMLスキーマノードごとに、次の3種類の適応が可能です。

  1. 適応ターミナルノード

    このノードは、TIBCO EBX®で関連する値とともに表示されます。

    メソッド Adaptation.get()を使用してアクセスすると、適応検索アルゴリズムが使用されます。

  2. 適応非ターミナルノード

    このノードは、適応ターミナルノードでもある子ノードが 1 つある場合にのみ EBX® に表示される複合タイプです。それ自体に値はありません。

    メソッド Adaptation.get()を使用してアクセスすると、nullが返されます。

  3. 非適応ノード

    このノードは適応ターミナルノードではなく、子適応ターミナルノードはありません。このノードは EBX®には表示されません。

    メソッド Adaptation.get()を使用してアクセスすると、定義されている場合はノードのデフォルト値が返され、そうでない場合は nullが返されます。

以下も参照してください。

アクセスモード

動作

RW

適応ターミナルノード:値はEBX®で読み書きできます。

R-

適応ターミナルノード:値はEBX®でのみ読み取ることができます。

CC

Cut:これは適応ターミナルノードではなく、その子はいずれも適応ターミナルノードではありません。この「命令」は、access属性の値に関係なく、どの子ノードよりも優先されます。

-

ノードが単純なタイプの場合、適応できません。ノードが複合タイプの場合、それは適応ターミナルノードではなく、子ノードを定義しません。

データモデルのrootノードは、このアクセスモードを指定する必要があります。

デフォルト

access属性が定義されていない場合:

  • ノードが計算値の場合、R-と見なされます。

  • ノードが単純型であり、その値が計算されていない場合、ノードはRWと見なされます。

  • ノードが集約リストである場合、それは最終値であり、RWと見なされます。

  • それ以外の場合、それは適応ターミナルノードではなく、その子ノードについて何も定義しません。

例:

この例では、エレメントは適応ターミナルノードであるため適応可能です。

<xs:element name="proxyIpAddress" type="xs:string" osd:access="RW"/>

情報

エレメント osd:information を使用すると、追加情報を指定できます。

以下も参照してください。

例:

<xs:element name="misc" type="xs:string">
		<xs:annotation>
		  <xs:appinfo>
			<osd:information>
			 This is the text information of miscellaneous element.
			</osd:information>
		  </xs:appinfo>
		</xs:annotation>
</xs:element>

デフォルトビュー

デフォルトビューでのフィールドまたはテーブルの非表示

EBX®では、エレメント osd:defaultView/hidden を使用して、テーブルまたはテーブル内のフィールドをデフォルトで非表示にすることができます。このプロパティは、特定のアクセス許可を定義せずに、データセットのデフォルトビューからエレメントを非表示にするために使用されます。つまり、デフォルトで非表示になっているエレメントは、関連するデータモデルの構造から生成された、表形式か階層形式かに関係なく、デフォルトのフォームとビューには表示されません。

注意

  • エレメントがデータセットのデフォルトビューで非表示になるように構成されている場合、このフィールドに関連付けられているアクセス許可は評価されません。

  • ビューを定義することにより、データセットのデフォルトビューで非表示になっているフィールドを表示することができます。この場合にのみ、このフィールドに関連付けられたアクセス許可が評価され、フィールドが表示されるかどうかが決定されます。

  • データセットのデフォルトビュー(ナビゲーションペイン)で非表示になっているテーブルを表示することはできません。

例:

この例では、エレメントはデータセットのデフォルトビューで非表示になっています。

<xs:element name="hiddenField" type="xs:string" minOccurs="0"/>
	  <xs:annotation>
		<xs:appinfo>
		  <osd:defaultView>
			 <hidden>true</hidden>
		  </osd:defaultView>
		</xs:appinfo>
	  </xs:annotation>
</xs:element>

ビュー内でのグループとフィールドの非表示

エレメント osd:defaultView/hiddenInViewsを使用すると、フィールドまたはグループをテーブルのすべてのビューで非表示にすることができます。このプロパティは、特定のアクセス許可を定義せずに、データセットの表形式(デフォルトの表形式ビューを含む)および階層ビューからエレメントを非表示にするために使用されます。つまり、非表示のエレメントは、関連付けられたデータモデルの構造から作成された、表形式か階層かを問わず、どのビューにも表示されません。ただし、ビューの非表示エレメントはフォームに表示されます。

すべてのビューでエレメントを非表示にするかどうかを指定するには、osd:defaultView/hiddenInViews="true|false"エレメントを使用します。

このプロパティがtrueに設定されている場合、カスタムビューを作成するときにエレメントを選択できません。結果として、エレメントはデータセット内のテーブルのすべてのビューに表示されるわけではありません。

グループがビューで非表示として構成されている場合、このグループの下にネストされているすべてのフィールドが、テーブルのビューにそれぞれ表示されるわけではありません。

構造化検索ツールでのフィールドの非表示

構造化検索ツールでエレメントを非表示にするかどうかを指定するには、エレメント osd:defaultView/hiddenInSearch="true|false|textSearchOnly"を使用します。

このプロパティがtrueに設定されている場合、データセットのテキストおよび入力された検索ツールでフィールドを選択することはできません。

このプロパティがtextSearchOnlyに設定されている場合、フィールドはデータセットのテキスト検索でのみ選択可能ではなく、型付き検索で選択可能になります。

注意

グループが検索ツールまたはテキスト検索のみで非表示として構成されている場合、このグループの下にネストされているすべてのフィールドは、検索ツールまたはテキスト検索のみにそれぞれ表示されません。

いずれの場合も、フィールドはクイック検索ツールで検索可能なままになります。特定の検索戦略を定義することにより、クイック検索を含むすべての検索ツールからフィールドを除外できます。

例:

<xs:element name="hiddenFieldInSearch" type="xs:string" minOccurs="0"/>
	  <xs:annotation>
		<xs:appinfo>
		  <osd:defaultView>
			 <hiddenInSearch>true</hiddenInSearch>
		  </osd:defaultView>
		</xs:appinfo>
	  </xs:annotation>
</xs:element>

この例では、エレメントはデータセットのテキストおよび入力された検索ツールで非表示になっています。

<xs:element name="hiddenFieldOnlyInTextSearch" type="xs:string" minOccurs="0"/>
	  <xs:annotation>
		<xs:appinfo>
		  <osd:defaultView>
			 <hiddenInSearch>textSearchOnly</hiddenInSearch>
		  </osd:defaultView>
		</xs:appinfo>
	  </xs:annotation>
</xs:element>

この例では、エレメントはデータセットのテキスト検索ツールでのみ非表示になっています。

データサービスでのフィールドの非表示

データサービスでエレメントを非表示にするかどうかを指定するには、エレメント osd:defaultView/hiddenInDataServicesを使用します。詳細については、データモデルからのフィールドの無効化を参照してください。

注意

  • グループが非表示として構成されている場合、このグループの下にネストされているすべてのフィールドは、データサービスによって非表示と見なされます。

例:

<xs:element name="hiddenFieldInDataService" type="xs:string" minOccurs="0"/>
	  <xs:annotation>
		<xs:appinfo>
		  <osd:defaultView>
			 <hiddenInDataServices>true</hiddenInDataServices>
		  </osd:defaultView>
		</xs:appinfo>
	  </xs:annotation>
</xs:element>

この例では、エレメントはデータサービスのSelect操作で非表示になっています。

外部キーのコンボボックスセレクタービューの定義

よりスムーズな選択のために、ターゲットテーブルまたは外部キーの階層ビューを表示するために使用される公開ビューを指定することができます。ビューが定義されている場合、セレクターはこの外部キーのコンボボックスのユーザーインターフェイスに表示されます。ビューの定義は、XMLスキーマエレメント osd:defaultView/widget/viewForAdvancedSelectionを使用して行うことができます。

注意

  • このプロパティは、外部キーフィールドでのみ定義できます。

  • 公開されたビューは、外部キーのターゲットテーブルに関連付けられている必要があります。

  • 公開されたビューが存在しない場合、外部キーフィールドで詳細選択を使用することはできません。

例:

この例では、公開されたビューの名前は、詳細選択で外部キーのターゲットテーブルを表示するように定義されています。

<xs:element name="catalog_ref" type="xs:string" minOccurs="0"/>
	  <xs:annotation>
		<xs:appinfo>
			<osd:otherFacets>
				<osd:tableRef>
					<tablePath>/root/Catalogs</tablePath>
				</osd:tableRef>
		  	</osd:otherFacets>
		  <osd:defaultView>
			 <widget>
			 	<viewForAdvancedSelection>catalogView</viewForAdvancedSelection>
			 </widget>
		  </osd:defaultView>
		</xs:appinfo>
	  </xs:annotation>
</xs:element>

詳細については、コンボボックスセレクターを参照してください。

デフォルトウィジェットのカスタマイズ

ウィジェットは、データモデルアシスタントを使用して定義できます。詳細については、デフォルトビュー>ウィジェットを参照してください。

RESTデータサービスのカスタマイズ

デフォルトのビュー構成は、セッションチャネルを介してRESTデータサービスで管理されます。

比較モード

比較モードを設定するために、属性osd:comparisonをターミナルノードエレメントに含めることができます。このモードは、比較中にエレメントの差異を検出する方法を制御します。属性に使用できる値は次のとおりです。

default

エレメントは、そのデータの比較中に表示されます。

ignored

レコードまたはデータセットのコンテンツの2つのバージョンを比較しても、変更は検出されません。

マージ中、無視されたエレメントのデータ値は、値が異なっていても、コンテンツが更新されてもマージされません。新しいコンテンツの場合、無視されたエレメントの値がマージされます。

アーカイブのインポート中に、コンテンツが更新されたときに無視されたエレメントの値はインポートされません。新しいコンテンツの場合、無視されたエレメントの値がインポートされます。

注意

  • 比較中にグループが無視されるように構成されている場合、このグループの下にネストされているすべてのフィールドも無視されます。

  • 端末フィールドに属性 osd:comparison が含まれていない場合、比較時にデフォルトで含まれます。

制限事項:

  • このプロパティは、非終端フィールドでは定義できません。

  • 比較中に主キーフィールドを無視することはできません。

例:

この例では、最初のエレメントは比較中に明示的に無視され、2番目のエレメントは明示的に含まれます。

<xs:element name="fieldExplicitlyIgnoredInComparison"
	type="xs:string" minOccurs="0" osd:comparison="ignored"/>
<xs:element name="fieldExplicitlyNotIgnoredInComparison"
	type="xs:string" minOccurs="0" osd:comparison="default"/>

最終変更ポリシーの適用

属性 osd:applyLastModification は、データセットのテーブルで実行できる「最後の変更を適用」サービスにこのエレメントを含める必要があるかどうかを指定するために、ターミナルノードエレメントで定義できます。

属性に使用できる値は次のとおりです。

default

最後の変更をこのエレメントに適用できます。

ignored

このエレメントは、最終変更の適用サービスから無視されます。つまり、このエレメントに対して実行された最後の変更を他のレコードに適用することはできません。

注意

  • グループが「最後の変更を適用」サービスによって無視されるように構成されている場合、このグループの下にネストされているすべてのフィールドも無視されます。

  • 端末フィールドに属性 osd:applyLastModification が含まれていない場合、デフォルトで「最終変更の適用」サービスに含まれます。

制限事項:

  • このプロパティは、非終端フィールドでは定義できません。

例:

この例では、最初のエレメントは「最後の変更を適用」サービスで明示的に無視され、2番目のエレメントは明示的に含まれています。

<xs:element name="fieldExplicitlyIgnoredInApplyLastModification"
	type="xs:string" minOccurs="0" osd:applyLastModification="ignored"/>
<xs:element name="fieldExplicitlyNotIgnoredApplyLastModification"
	type="xs:string" minOccurs="0" osd:applyLastModification="default"/>

カテゴリ

カテゴリは、データモデルエレメントの表示を制限することにより、「フィルタリング」に使用できます。

カテゴリを作成するには、属性 osd:category をデータモデルXSDのテーブルノードに追加します。

データのフィルター

以下の例では、mycategoryという名前のカテゴリを作成するために、属性 osd:categoryがノードに追加されています。

<xs:element name="rebate" osd:category="mycategory">
	  <xs:complexType>
		<xs:sequence>
		  <xs:element name="label" type="xs:string"/>
		  <xs:element name="beginDate" type="xs:date"/>
		  <xs:element name="endDate" type="xs:date"/>
		  <xs:element name="rate" type="xs:decimal"/>
		</xs:sequence>
	  </xs:complexType>
</xs:element>

ユーザーインターフェイスのデータセットで定義済みのカテゴリフィルターをアクティブにするには、ナビゲーションペインからアクション>カテゴリ> <category name>を選択します。

事前定義されたカテゴリ

ローカライズされたラベルを持つ2つのカテゴリが事前定義されています。

制限事項

カテゴリ「Hidden」を除いて、カテゴリはテーブルレコードノードには適用されません。

ドキュメント>開発者ガイド>データモデル