ナビゲーション問合せでのブレッドクラムの取得

ユーザーが開始した(ナビゲーション状態で選択が行われていない)ナビゲーション問合せに対して行われた初期の対話Webサービス・リクエストは、ブレッドクラムをまだ返しません。一方、(ユーザーが使用可能な属性値内で選択を行った)後続のリクエストはブレッドクラムを返します。

ブレッドクラムのリクエストは、ContentElementConfig要素のBreadcrumbHandlerで実装されます。
<ContentElementConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:type="BreadcrumbConfig" 
  ReturnFullPath="false"
  HandlerFunction="BreadcrumbHandler"
  HandlerNamespace="http://www.endeca.com/MDEX/conversation/2/0"
  Id="Breadcrumbs"/>
この要素には、次のものが含まれます。
項目 説明
ReturnFullPath レスポンスで階層絞込みのフルパスを返すかどうかを指定します。

この設定は、ブレッドクラムをリクエストするナビゲーション問合せにのみ関連します。ブレッドクラムをリクエストする検索または範囲フィルタ問合せでは無視されます。

trueに設定されている場合、返されるブレッドクラムには、Wine > Red > Merlotのように親絞込み値までのフルパスが含まれます。

falseに設定されている場合は、先祖へのパスのない絞込みのみ返されます。デフォルトはfalseです。

BreadcrumbHandler レスポンスでのブレッドクラムの生成を容易にする関数です。この関数は、ブレッドクラムを返すために必要です。

データ・ドメイン構成でスペルが有効になっており、ブレッドクラムに加えて対話Webサービス・レスポンスにスペルの提案とDYM (もしかして)に関する補足情報を含める場合は、SearchAdjustmentHandlerを指定した別のContentElementConfigが必要です。この要素が含まれる場合、スペル修正またはDYMの提案は、レスポンスでブレッドクラムとともに返されます。

注意: スペルが有効になっている場合、SearchAdjustmentHandlerを指定したContentElementConfigが含まれない場合でも、ブレッドクラム結果のスペル修正が行われます。一方、スペル修正が行われると、スペル修正とDYMの提案はレスポンスで返されません。

レスポンスでは、ブレッドクラムは追加(リクエスト)された順に返されます。

ナビゲーション問合せでブレッドクラムをリクエストする手順:

対話Webサービス・リクエストで、次の項目を指定します。

次の例では、ナビゲーション状態にはNumberOfDigits絞込みの選択と、2つのContentElementConfig要素(BreadcrumbHandlerに対して1つとSearchAdjustmentHandlerに対して1つ)が含まれます。

<Request xmlns="http://www.endeca.com/MDEX/conversation/2/0">
  <State/>
  <Operator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:type="RefinementOperator" Spec="/2" 
    Name="NumberOfDigits"/>
  <ContentElementConfig
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:type="BreadcrumbConfig" 
    ReturnFullPath="true" HandlerFunction="BreadcrumbHandler" 
    HandlerNamespace="http://www.endeca.com/MDEX/conversation/2/0" Id="Breadcrumbs"/>
  <ContentElementConfig
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="SearchAdjustmentConfig" 
    HandlerFunction="SearchAdjustmentHandler"
    HandlerNamespace="http://www.endeca.com/MDEX/conversation/2/0"
    Id="SearchAdjustments"/>
  <PassThrough> ...</PassThrough>
</Request>

対話Webサービス結果には、BreadcrumbHandlerSearchAdjustmentHandlerに対して演算子が適用された元のリクエストに続き、ユーザーが選択したナビゲーション状態に基づいてブレッドクラムとして識別された属性値をリストするContentElementConfig要素が含まれます。

注意: 結果には、GeneralizationOperatorも含まれます。これにより、ユーザーが以前に選択した絞込みをブレッドクラム・リストから削除することを選択した場合に、Oracle Endeca Serverで動作するフロントエンド・アプリケーション(Studioなど)のユーザー・インタフェースで絞込み(ブレッドクラム)を削除できます。
レスポンスの前半は次のようにリクエストの反復です。
<cs:Results xmlns:cs="http://www.endeca.com/MDEX/conversation/2/0" 
  xmlns:mdex="http://www.endeca.com/MDEX/XQuery/2009/09">
  <cs:Request>
  <cs:State>
  <cs:SelectedRefinementFilter Name="NumberOfDigits" Spec="/2"/>
  </cs:State>
  <ContentElementConfig xmlns="http://www.endeca.com/MDEX/conversation/2/0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:type="BreadcrumbConfig" ReturnFullPath="true"  
    HandlerFunction="BreadcrumbHandler" 
    HandlerNamespace="http://www.endeca.com/MDEX/conversation/1/0" Id="Breadcrumbs"/>
  <ContentElementConfig xmlns="http://www.endeca.com/MDEX/conversation/2/0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:type="SearchAdjustmentConfig" HandlerFunction="SearchAdjustmentHandler" 
    HandlerNamespace="http://www.endeca.com/MDEX/conversation/2/0" 
    Id="SearchAdjustments"/>
  </cs:Request>
レスポンスの後半にはブレッドクラムが含まれます。
<cs:ContentElement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   xsi:type="cs:Breadcrumbs" Id="Breadcrumbs">
  <cs:RefinementBreadcrumb Name="NumberOfDigits"
     DisplayName="Number Of Digits" Spec="/2">
    <cs:DimensionValue>
    <cs:DimensionValue DimensionName="NumberOfDigits" Spec="/">
     NumberOfDigits
     </cs:DimensionValue>
      <cs:Operator xsi:type="cs:GeneralizationOperator" Name="" Spec="/"/>
    </cs:DimensionValue>
    <cs:DimensionValue>
    <cs:DimensionValue DimensionName="NumberOfDigits" Spec="/2">2
    </cs:DimensionValue>
     <cs:Operator xsi:type="cs:GeneralizationOperator" Name="" Spec="/2"/>
    </cs:DimensionValue>
  <cs:Operator xsi:type="cs:GeneralizationOperator"
   Name="NumberOfDigits" Spec="/2"/>
  </cs:RefinementBreadcrumb>
</cs:ContentElement>
<cs:ContentElement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:type="cs:SearchAdjustments" Id="SearchAdjustments"/>
</cs:Results>