EQLのBETWEEN演算子を使用して、「間」範囲フィルタ問合せを作成します。
「間」範囲フィルタ問合せは、下限と上限の間にある標準または管理属性値を持つレコードを返します。
attribute BETWEEN lowerBound AND upperBound
attributeは、値がテストされる属性です。
BETWEENは境界値です。attributeの値がlowerBoundの値以上で、upperBoundの値以下の場合、TRUEを返します。
attributeのサポートされるデータ・タイプと範囲値は、integer、double、dateTime、duration、time、stringおよびBooleanです。1つの例外を除き、attributeは、lowerBoundおよびupperBoundと同じデータ・タイプである必要があります。例外として、integerはdoubleに昇格するため、integerとdoubleの組合せを使用できます。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header/> <soapenv:Body> <Request xmlns="http://www.endeca.com/MDEX/conversation/2/0"> <Language>es</Language> <State> <DataSourceFilterString>COUNTRY_NAME = 'Spain'</DataSourceFilterString> <SelectionFilterString>UNIT_PRICE BETWEEN 500 AND 1000</SelectionFilterString> </State> <ContentElementConfig xsi:type="RecordListConfig" HandlerFunction="RecordListHandler" HandlerNamespace="http://www.endeca.com/MDEX/conversation/handlers/2010" Id="RecordList" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> </ContentElementConfig> </Request> </soapenv:Body> </soapenv:Envelope>
この例では、最初にCOUNTRY_NAME割当てが'Spain'のレコードにデータ・ソース・レコードを限定し、UNIT_PRICE値が500から1000のレコードをすべて返します。両方の境界要素が含まれるため、返されるレコードには、UNIT_PRICE値が500と1000のレコードが含まれます。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header/> <soapenv:Body> <Request xmlns="http://www.endeca.com/MDEX/conversation/2/0"> <State> <DataSourceFilterString>AMOUNT_SOLD > 100</DataSourceFilterString> <SelectionFilterString>COUNTRY_NAME BETWEEN 'Argentina' AND 'Japan'</SelectionFilterString> </State> <ContentElementConfig xsi:type="RecordListConfig" HandlerFunction="RecordListHandler" HandlerNamespace="http://www.endeca.com/MDEX/conversation/handlers/2010" Id="RecordList" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> </ContentElementConfig> </Request> </soapenv:Body> </soapenv:Envelope>
この例では、最初にAMOUNT_SOLD割当てが100以上のレコードにデータ・ソース・レコードを限定し、COUNTRY_NAME割当て値がアルゼンチンから日本までの国名(カナダやイタリアなど)のレコードをすべて返します。