レコード詳細の表示

RecordDetailsConfigタイプは、レコード詳細問合せの構成を定義します。

レコード詳細問合せは、単一の特定レコードの問合せです。このタイプの問合せに関する構成情報は、RecordDetailsConfigコンポーネントで提供されます。このコンポーネントを使用すると、返されるレコードの側面(その主キー(レコード指定子)、どの標準属性や管理属性を返すかなど)を構成できます。

RecordDetailsConfigの構文

RecordDetailsConfigタイプの書式は次のとおりです。
<RecordDetailsConfig Id="?">
   <StateName>?</StateName>
   <RecordSelector Name="?" Spec="?"/>
   <Column>?</Column>
</RecordDetailsConfig>
RecordDetailsConfigの要素および属性の意味は次のとおりです。
要素/属性 意味
Id 必須です。このRecordDetailsConfigの任意の識別子。
RecordSelector Name Spec 必須です。RecordSelectorは、レコードに対して一意であるキー/値ペアに基づいてレコードを選択します(通常はこれがレコード指定子です)。Nameは一意の属性のキー(名前)を示し、Specはキーの値です。
Column オプションです。レコードとともに返す必要がある標準属性または管理属性を指定します。Column要素の複数のインスタンスを指定できます。主キーは自動的に返されるため、指定する必要はありません。Column要素が指定されていない場合は、すべてのレコードの割当てが返されます。
StateName 次のルールを使用して、リクエストで既存の名前付きの状態を指定します。
  • リクエストに複数の名前付きの状態がある場合は、StateName要素で名前付きの状態を1つだけ参照する必要があります。
  • リクエストに名前付きの状態が1つだけある場合は、StateName要素を使用してその名前付きの状態を参照するかどうかはオプションです(RecordDetailsConfigのどのイベントでもその状態が使用されるため)。
  • リクエストに名前のない状態がある場合は、StateName要素を使用できません。

RecordDetailsConfigの例

次のリクエストは、主キー34750のレコードの詳細を対象としています。
<Request xmlns="http://www.endeca.com/MDEX/conversation/3/0">
   <State/>
   <RecordDetailsConfig Id="RecDetails">
      <RecordSelector Name="WineID" Spec="34750"/>
      <Column>WineType</Column>
      <Column>Description</Column>
   </RecordDetailsConfig>
 </Request>

結果では、2つのレコード割当て属性(WineTypeおよびDescription)がレコードの主キー(WineID)とともに返されます。

RecordDetailsの結果

レコード問合せから返されるレコード詳細は、RecordDetails要素に含まれます。RecordDetails要素は、元のStateとともにResultsコンポーネント内にラップされます。

次の例で示すように、リクエストされたレコードの詳細は、対話WebサービスによってRecordDetailsコンポーネントで返されます。
<cs:RecordDetails Id="RecDetails">
   <cs:Record>
      <cs:attribute name="Description" type="mdex:string">ring">Dense and vegetal, with peach flavors.</cs:attribute>
      <cs:attribute name="WineID" type="mdex:int">34750</cs:attribute>
      <cs:attribute name="WineType" type="mdex:string" displayName="Red">Red</cs:attribute>
   </cs:Record>
   <cs:DimensionHierarchy>
      <cs:DimensionValueWithPath>
         <cs:DimensionValue DimensionName="WineType" Spec="Red">Red</cs:DimensionValue>
         <cs:DimensionValue DimensionName="WineType" Spec="/">WineType</cs:DimensionValue>
      </cs:DimensionValueWithPath>
   </cs:DimensionHierarchy>
   <cs:Column ColumnKey="Description" DisplayName="Description" SpecColumn="false"/>
   <cs:Column ColumnKey="WineID" DisplayName="WineID" SpecColumn="true"/>
   <cs:Column ColumnKey="WineType" DisplayName="WineType" SpecColumn="false"/>
   ...
</cs:RecordDetails>

リクエストされたレコードの割り当てられた属性は、Record要素に含まれます。

また、Column要素の属性には、次の追加のプロパティ情報が含まれます。
  • ColumnKeyは、標準属性または管理属性の名前(NCName書式)を識別します。
  • DisplayNameは、属性の名前をわかりやすい形式で指定します
  • SpecColumnは、属性が主キーかどうか(つまり、一意のキー/値ペアを持つ単一割当てプロパティであるかどうか)を識別します。レコードに割り当てられていないものも含め、Dgraphにあるすべての一意の単一割当てプロパティが返されることに注意してください。

フロントエンド・アプリケーションでは、このレコード詳細リストの反復、レコードの識別情報の抽出および結果を含む表の表示を行うことができます。